From 9ca6a78cdff914dfa42f206c792f00036335d13e Mon Sep 17 00:00:00 2001 From: Mathieu Faverge <mathieu.faverge@inria.fr> Date: Sat, 12 Nov 2016 18:02:40 -0500 Subject: [PATCH] Fix baseval --- spm_dofs.c | 6 +++--- z_spm_print.c | 36 ++++++++++++++++++------------------ 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/spm_dofs.c b/spm_dofs.c index 3547bd99..8d9fa3cd 100644 --- a/spm_dofs.c +++ b/spm_dofs.c @@ -64,14 +64,14 @@ spmDofExtend( const int type, * Initialize the dofs array where the degree of freedom of vertex i is * dof[i+1] - dof[i] */ - *dofptr = 0; + *dofptr = baseval; for(i=0; i<spm->n; i++, dofptr++) { dofi = 1 + ( rand() % dof ); dofptr[1] = dofptr[0] + dofi; } - newspm->nexp = *dofptr; - newspm->gNexp = *dofptr; + newspm->nexp = *dofptr - baseval; + newspm->gNexp = newspm->nexp; /** * Count the number of non zeroes diff --git a/z_spm_print.c b/z_spm_print.c index 5dae4b22..a51561c9 100644 --- a/z_spm_print.c +++ b/z_spm_print.c @@ -49,13 +49,13 @@ z_spmCSCPrint( FILE *f, const pastix_spm_t *spm ) for(j=0; j<spm->n; j++, colptr++) { dofj = ( spm->dof > 0 ) ? spm->dof : dofs[j+1] - dofs[j]; - col = ( spm->dof > 0 ) ? spm->dof * j : dofs[j]; + col = ( spm->dof > 0 ) ? spm->dof * j : dofs[j] - baseval; for(k=colptr[0]; k<colptr[1]; k++, rowptr++) { i = (*rowptr - baseval); dofi = ( spm->dof > 0 ) ? spm->dof : dofs[i+1] - dofs[i]; - row = ( spm->dof > 0 ) ? spm->dof * i : dofs[i]; + row = ( spm->dof > 0 ) ? spm->dof * i : dofs[i] - baseval; if ( spm->layout == PastixColMajor ) { for(jj=0; jj<dofj; jj++) @@ -93,13 +93,13 @@ z_spmCSCPrint( FILE *f, const pastix_spm_t *spm ) for(j=0; j<spm->n; j++, colptr++) { dofj = ( spm->dof > 0 ) ? spm->dof : dofs[j+1] - dofs[j]; - col = ( spm->dof > 0 ) ? spm->dof * j : dofs[j]; + col = ( spm->dof > 0 ) ? spm->dof * j : dofs[j] - baseval; for(k=colptr[0]; k<colptr[1]; k++, rowptr++) { i = (*rowptr - baseval); dofi = ( spm->dof > 0 ) ? spm->dof : dofs[i+1] - dofs[i]; - row = ( spm->dof > 0 ) ? spm->dof * i : dofs[i]; + row = ( spm->dof > 0 ) ? spm->dof * i : dofs[i] - baseval; if ( spm->layout == PastixColMajor ) { for(jj=0; jj<dofj; jj++) @@ -137,13 +137,13 @@ z_spmCSCPrint( FILE *f, const pastix_spm_t *spm ) for(j=0; j<spm->n; j++, colptr++) { dofj = ( spm->dof > 0 ) ? spm->dof : dofs[j+1] - dofs[j]; - col = ( spm->dof > 0 ) ? spm->dof * j : dofs[j]; + col = ( spm->dof > 0 ) ? spm->dof * j : dofs[j] - baseval; for(k=colptr[0]; k<colptr[1]; k++, rowptr++) { i = (*rowptr - baseval); dofi = ( spm->dof > 0 ) ? spm->dof : dofs[i+1] - dofs[i]; - row = ( spm->dof > 0 ) ? spm->dof * i : dofs[i]; + row = ( spm->dof > 0 ) ? spm->dof * i : dofs[i] - baseval; if ( spm->layout == PastixColMajor ) { for(jj=0; jj<dofj; jj++) @@ -194,13 +194,13 @@ z_spmCSRPrint( FILE *f, const pastix_spm_t *spm ) for(i=0; i<spm->n; i++, rowptr++) { dofi = ( spm->dof > 0 ) ? spm->dof : dofs[i+1] - dofs[i]; - row = ( spm->dof > 0 ) ? spm->dof * i : dofs[i]; + row = ( spm->dof > 0 ) ? spm->dof * i : dofs[i] - baseval; for(k=rowptr[0]; k<rowptr[1]; k++, colptr++) { j = (*colptr - baseval); dofj = ( spm->dof > 0 ) ? spm->dof : dofs[j+1] - dofs[j]; - col = ( spm->dof > 0 ) ? spm->dof * j : dofs[j]; + col = ( spm->dof > 0 ) ? spm->dof * j : dofs[j] - baseval; if ( spm->layout == PastixColMajor ) { for(jj=0; jj<dofj; jj++) @@ -238,13 +238,13 @@ z_spmCSRPrint( FILE *f, const pastix_spm_t *spm ) for(i=0; i<spm->n; i++, rowptr++) { dofi = ( spm->dof > 0 ) ? spm->dof : dofs[i+1] - dofs[i]; - row = ( spm->dof > 0 ) ? spm->dof * i : dofs[i]; + row = ( spm->dof > 0 ) ? spm->dof * i : dofs[i] - baseval; for(k=rowptr[0]; k<rowptr[1]; k++, colptr++) { j = (*colptr - baseval); dofj = ( spm->dof > 0 ) ? spm->dof : dofs[j+1] - dofs[j]; - col = ( spm->dof > 0 ) ? spm->dof * j : dofs[j]; + col = ( spm->dof > 0 ) ? spm->dof * j : dofs[j] - baseval; if ( spm->layout == PastixColMajor ) { for(jj=0; jj<dofj; jj++) @@ -282,13 +282,13 @@ z_spmCSRPrint( FILE *f, const pastix_spm_t *spm ) for(i=0; i<spm->n; i++, rowptr++) { dofi = ( spm->dof > 0 ) ? spm->dof : dofs[i+1] - dofs[i]; - row = ( spm->dof > 0 ) ? spm->dof * i : dofs[i]; + row = ( spm->dof > 0 ) ? spm->dof * i : dofs[i] - baseval; for(k=rowptr[0]; k<rowptr[1]; k++, colptr++) { j = (*colptr - baseval); dofj = ( spm->dof > 0 ) ? spm->dof : dofs[j+1] - dofs[j]; - col = ( spm->dof > 0 ) ? spm->dof * j : dofs[j]; + col = ( spm->dof > 0 ) ? spm->dof * j : dofs[j] - baseval; if ( spm->layout == PastixColMajor ) { for(jj=0; jj<dofj; jj++) @@ -349,9 +349,9 @@ z_spmIJVPrint( FILE *f, const pastix_spm_t *spm ) } else { dofi = dofs[i+1] - dofs[i]; - row = dofs[i]; + row = dofs[i] - baseval; dofj = dofs[j+1] - dofs[j]; - col = dofs[j]; + col = dofs[j] - baseval; } if ( spm->layout == PastixColMajor ) { @@ -399,9 +399,9 @@ z_spmIJVPrint( FILE *f, const pastix_spm_t *spm ) } else { dofi = dofs[i+1] - dofs[i]; - row = dofs[i]; + row = dofs[i] - baseval; dofj = dofs[j+1] - dofs[j]; - col = dofs[j]; + col = dofs[j] - baseval; } if ( spm->layout == PastixColMajor ) { @@ -449,9 +449,9 @@ z_spmIJVPrint( FILE *f, const pastix_spm_t *spm ) } else { dofi = dofs[i+1] - dofs[i]; - row = dofs[i]; + row = dofs[i] - baseval; dofj = dofs[j+1] - dofs[j]; - col = dofs[j]; + col = dofs[j] - baseval; } if ( spm->layout == PastixColMajor ) { -- GitLab