diff --git a/spm.c b/spm.c index 919aec3ec8bd03f4e84e665b3118c8c00eb7d7a9..0fc78f42dc0e3a307b981c2fa52ed99b7676dd97 100644 --- a/spm.c +++ b/spm.c @@ -185,13 +185,33 @@ spmBase( pastix_spm_t *spm, n = spm->n; nnz = spm->nnz; - assert( nnz == (spm->colptr[n] - spm->colptr[0]) ); + switch(spm->fmttype) + { + case PastixCSC: + assert( nnz == (spm->colptr[n] - spm->colptr[0]) ); - for (i = 0; i <= n; i++) { - spm->colptr[i] += baseadj; - } - for (i = 0; i < nnz; i++) { - spm->rowptr[i] += baseadj; + for (i = 0; i <= n; i++) { + spm->colptr[i] += baseadj; + } + for (i = 0; i < nnz; i++) { + spm->rowptr[i] += baseadj; + } + break; + + case PastixCSR: + assert( nnz == (spm->rowptr[n] - spm->rowptr[0]) ); + for (i = 0; i <= n; i++) { + spm->rowptr[i] += baseadj; + } + for (i = 0; i < nnz; i++) { + spm->colptr[i] += baseadj; + } + break; + case PastixIJV: + for (i = 0; i < nnz; i++) { + spm->rowptr[i] += baseadj; + spm->colptr[i] += baseadj; + } } if (spm->loc2glob != NULL) {