diff --git a/z_spm_matrixvector.c b/z_spm_matrixvector.c index 4b0cf88930cc6cf9bcf80186025e1f1a835d0d3d..14238ff1410df0afc554de51f82b726f1cda38b1 100644 --- a/z_spm_matrixvector.c +++ b/z_spm_matrixvector.c @@ -109,12 +109,12 @@ z_spmGeCSCv( int trans, for( i=0; i < csc->gN; i++ ) { dofi = ( csc->dof > 0 ) ? csc->dof : dofs[i+1] - dofs[i]; - col=dofs[i]; + col = ( csc->dof > 0 ) ? i : dofs[i]; for( k=csc->colptr[i]; k<csc->colptr[i+1]; k++ ) { j = csc->rowptr[k-baseval]-baseval; dofj = ( csc->dof > 0 ) ? csc->dof : dofs[j+1] - dofs[j]; - row=dofs[j]; + row = ( csc->dof > 0 ) ? j : dofs[j]; for(ii=0; ii<dofi; ii++) { for(jj=0; jj<dofj; jj++, valptr++) @@ -133,12 +133,12 @@ z_spmGeCSCv( int trans, for( i=0; i < csc->gN; i++ ) { dofi = ( csc->dof > 0 ) ? csc->dof : dofs[i+1] - dofs[i]; - col=dofs[i]; + col = ( csc->dof > 0 ) ? i : dofs[i]; for( k=csc->colptr[i]; k<csc->colptr[i+1]; k++ ) { j = csc->rowptr[k-baseval]-baseval; dofj = ( csc->dof > 0 ) ? csc->dof : dofs[j+1] - dofs[j]; - row=dofs[j]; + row = ( csc->dof > 0 ) ? j : dofs[j]; for(ii=0; ii<dofi; ii++) { for(jj=0; jj<dofj; jj++, valptr++) @@ -250,12 +250,12 @@ z_spmSyCSCv( pastix_complex64_t alpha, for( i=0; i < csc->gN; i++ ) { dofi = ( csc->dof > 0 ) ? csc->dof : dofs[i+1] - dofs[i]; - col = dofs[i]; + col = ( csc->dof > 0 ) ? i : dofs[i]; for( k=csc->colptr[i]; k<csc->colptr[i+1]; k++ ) { j = csc->rowptr[k-baseval]-baseval; dofj = ( csc->dof > 0 ) ? csc->dof : dofs[j+1] - dofs[j]; - row = dofs[j]; + row = ( csc->dof > 0 ) ? j : dofs[j]; for(ii=0; ii<dofi; ii++) { for(jj=0; jj<dofj; jj++, valptr++) @@ -351,12 +351,12 @@ z_spmHeCSCv( pastix_complex64_t alpha, for( i=0; i < csc->gN; i++ ) { dofi = ( csc->dof > 0 ) ? csc->dof : dofs[i+1] - dofs[i]; - col = dofs[i]; + col = ( csc->dof > 0 ) ? i : dofs[i]; for( k=csc->colptr[i]; k<csc->colptr[i+1]; k++ ) { j = csc->rowptr[k-baseval]-baseval; dofj = ( csc->dof > 0 ) ? csc->dof : dofs[j+1] - dofs[j]; - row = dofs[j]; + row = ( csc->dof > 0 ) ? j : dofs[j]; for(ii=0; ii<dofi; ii++) { for(jj=0; jj<dofj; jj++, valptr++) diff --git a/z_spm_norm.c b/z_spm_norm.c index 9d45ade431fed243e4d3debefbbbe6abd6e9c73b..549a14158d08d9bb41f9303f04213968e822fdbc 100644 --- a/z_spm_norm.c +++ b/z_spm_norm.c @@ -229,7 +229,7 @@ z_spmInfNorm( const pastix_spm_t *spm ) { j = spm->rowptr[k - baseval] - baseval; dofj = ( spm->dof > 0 ) ? spm->dof : dofs[j+1] - dofs[j]; - row = dofs[j]; + row = ( spm->dof > 0 ) ? j : dofs[j]; for(ii=0; ii < dofi; ii++) { for(jj=0; jj < dofj; jj++, valptr++) @@ -248,7 +248,7 @@ z_spmInfNorm( const pastix_spm_t *spm ) valptr = (pastix_complex64_t*)spm->values; for(i=0; i < spm->n; i++) { - col = dofs[i]; + col = ( spm->dof > 0 ) ? i : dofs[i]; dofi = ( spm->dof > 0 ) ? spm->dof : dofs[i+1] - dofs[i]; for(k=spm->colptr[i]; k < spm->colptr[i+1]; k++) { @@ -381,7 +381,7 @@ z_spmOneNorm( const pastix_spm_t *spm ) for(i=0; i < spm->n; i++) { - col = dofs[i]; + col = ( spm->dof > 0 ) ? i : dofs[i]; dofi = ( spm->dof > 0 ) ? spm->dof : dofs[i+1] - dofs[i]; for(k=spm->colptr[i]; k < spm->colptr[i+1]; k++) { @@ -409,7 +409,7 @@ z_spmOneNorm( const pastix_spm_t *spm ) for(k=spm->colptr[i]; k < spm->colptr[i+1]; k++) { j = spm->rowptr[k - baseval] - baseval; - row = dofs[j]; + row = ( spm->dof > 0 ) ? j : dofs[j]; dofj = ( spm->dof > 0 ) ? spm->dof : dofs[j+1] - dofs[j]; if(i != j) { @@ -417,7 +417,6 @@ z_spmOneNorm( const pastix_spm_t *spm ) { for(jj=0; jj < dofj; jj++, valptr++) { - sumrow[row + jj] += cabs( *valptr ); } }