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