changed hypre_CSRMatrixInitialize to only allocate the hypre_CSRMatrixData

and hypre_CSRMatrixJ arrays for num_nonzeros != 0
This commit is contained in:
ulrikey 2002-02-12 19:17:13 +00:00
parent 39ee3d92a0
commit 0d1388f318

View File

@ -39,7 +39,6 @@ hypre_CSRMatrixCreate( int num_rows,
return matrix;
}
/*--------------------------------------------------------------------------
* hypre_CSRMatrixDestroy
*--------------------------------------------------------------------------*/
@ -75,11 +74,11 @@ hypre_CSRMatrixInitialize( hypre_CSRMatrix *matrix )
int ierr=0;
if ( ! hypre_CSRMatrixData(matrix) )
if ( ! hypre_CSRMatrixData(matrix) && num_nonzeros )
hypre_CSRMatrixData(matrix) = hypre_CTAlloc(double, num_nonzeros);
if ( ! hypre_CSRMatrixI(matrix) )
hypre_CSRMatrixI(matrix) = hypre_CTAlloc(int, num_rows + 1);
if ( ! hypre_CSRMatrixJ(matrix) )
if ( ! hypre_CSRMatrixJ(matrix) && num_nonzeros )
hypre_CSRMatrixJ(matrix) = hypre_CTAlloc(int, num_nonzeros);
return ierr;