From 5d0d5962695b86f12b7a129ff3ab836a41cd1ca2 Mon Sep 17 00:00:00 2001 From: Mathieu Faverge <mathieu.faverge@inria.fr> Date: Mon, 14 Nov 2016 11:05:45 -0500 Subject: [PATCH] Factorize some code --- spm_dofs.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/spm_dofs.c b/spm_dofs.c index 8d9fa3cd..d75f839c 100644 --- a/spm_dofs.c +++ b/spm_dofs.c @@ -83,6 +83,11 @@ spmDofExtend( const int type, switch(spm->fmttype) { + case PastixCSR: + /* Swap pointers to call CSC */ + colptr = newspm->rowptr; + rowptr = newspm->colptr; + case PastixCSC: for(j=0; j<newspm->n; j++, colptr++) { dofj = dofptr[j+1] - dofptr[j]; @@ -95,18 +100,6 @@ spmDofExtend( const int type, } } break; - case PastixCSR: - for(i=0; i<newspm->n; i++, rowptr++) { - dofi = dofptr[i+1] - dofptr[i]; - - for(k=rowptr[0]; k<rowptr[1]; k++, rowptr++) { - j = *colptr - baseval; - dofj = dofptr[j+1] - dofptr[j]; - - newspm->nnzexp += dofi * dofj; - } - } - break; case PastixIJV: for(k=0; k<newspm->nnz; k++, rowptr++, colptr++) { -- GitLab