From 1ae2d2244d103612419d62d1dbf7c98c3763945e Mon Sep 17 00:00:00 2001 From: cleary Date: Mon, 13 Sep 1999 20:57:51 +0000 Subject: [PATCH] Evolving towards standard naming and argument conventions. --- .../pilut/HYPRE_PETScMatPilutSolver.c | 5 +++-- PETScMat_ls/pilut/HYPRE_PETScMatPilutSolver.c | 5 +++-- .../pilut/HYPRE_DistributedMatrixPilutSolver.c | 10 ++++++---- ...HYPRE_DistributedMatrixPilutSolver_protos.h | 2 +- distributed_linear_solvers/pilut/Makefile.in | 4 ++-- distributed_linear_solvers/pilut/ilut.c | 2 ++ .../pilut/internal_protos.h | 2 +- distributed_linear_solvers/pilut/parilut.c | 18 ++++++++++++++++++ distributed_linear_solvers/pilut/serilut.c | 3 +++ .../pilut/HYPRE_DistributedMatrixPilutSolver.c | 10 ++++++---- ...HYPRE_DistributedMatrixPilutSolver_protos.h | 2 +- distributed_ls/pilut/Makefile.in | 4 ++-- distributed_ls/pilut/ilut.c | 2 ++ distributed_ls/pilut/internal_protos.h | 2 +- distributed_ls/pilut/parilut.c | 18 ++++++++++++++++++ distributed_ls/pilut/serilut.c | 3 +++ distributed_matrix/Makefile.in | 4 ++-- matrix_matrix/Makefile.in | 4 ++-- parcsr_linear_solvers/HYPRE_parcsr_pilut.c | 3 ++- parcsr_ls/HYPRE_parcsr_pilut.c | 3 ++- 20 files changed, 80 insertions(+), 26 deletions(-) diff --git a/PETScMat_linear_solvers/pilut/HYPRE_PETScMatPilutSolver.c b/PETScMat_linear_solvers/pilut/HYPRE_PETScMatPilutSolver.c index 24197fa97..c5777f102 100644 --- a/PETScMat_linear_solvers/pilut/HYPRE_PETScMatPilutSolver.c +++ b/PETScMat_linear_solvers/pilut/HYPRE_PETScMatPilutSolver.c @@ -25,8 +25,9 @@ HYPRE_PETScMatPilutSolver HYPRE_NewPETScMatPilutSolver( hypre_PETScMatPilutSolverMatrix(solver) = matrix; /* DistributedMatrixPilutSolver */ - hypre_PETScMatPilutSolverDistributedSolver( solver ) = - HYPRE_NewDistributedMatrixPilutSolver( comm, NULL ); + ierr = + HYPRE_NewDistributedMatrixPilutSolver( comm, NULL, + &( hypre_PETScMatPilutSolverDistributedSolver( solver ) ) ); /* Return created structure to calling routine */ return( (HYPRE_PETScMatPilutSolver) solver ); diff --git a/PETScMat_ls/pilut/HYPRE_PETScMatPilutSolver.c b/PETScMat_ls/pilut/HYPRE_PETScMatPilutSolver.c index 24197fa97..c5777f102 100644 --- a/PETScMat_ls/pilut/HYPRE_PETScMatPilutSolver.c +++ b/PETScMat_ls/pilut/HYPRE_PETScMatPilutSolver.c @@ -25,8 +25,9 @@ HYPRE_PETScMatPilutSolver HYPRE_NewPETScMatPilutSolver( hypre_PETScMatPilutSolverMatrix(solver) = matrix; /* DistributedMatrixPilutSolver */ - hypre_PETScMatPilutSolverDistributedSolver( solver ) = - HYPRE_NewDistributedMatrixPilutSolver( comm, NULL ); + ierr = + HYPRE_NewDistributedMatrixPilutSolver( comm, NULL, + &( hypre_PETScMatPilutSolverDistributedSolver( solver ) ) ); /* Return created structure to calling routine */ return( (HYPRE_PETScMatPilutSolver) solver ); diff --git a/distributed_linear_solvers/pilut/HYPRE_DistributedMatrixPilutSolver.c b/distributed_linear_solvers/pilut/HYPRE_DistributedMatrixPilutSolver.c index f82ccdee7..6d33f7955 100644 --- a/distributed_linear_solvers/pilut/HYPRE_DistributedMatrixPilutSolver.c +++ b/distributed_linear_solvers/pilut/HYPRE_DistributedMatrixPilutSolver.c @@ -6,15 +6,16 @@ * HYPRE_NewDistributedMatrixPilutSolver *--------------------------------------------------------------------------*/ -HYPRE_DistributedMatrixPilutSolver HYPRE_NewDistributedMatrixPilutSolver( +int HYPRE_NewDistributedMatrixPilutSolver( MPI_Comm comm, - HYPRE_DistributedMatrix matrix ) + HYPRE_DistributedMatrix matrix, + HYPRE_DistributedMatrixPilutSolver *new_solver ) /* Allocates and Initializes solver structure */ { hypre_DistributedMatrixPilutSolver *solver; hypre_PilutSolverGlobals *globals; - int ierr, nprocs, myid; + int ierr=0, nprocs, myid; /* Allocate structure for holding solver data */ solver = (hypre_DistributedMatrixPilutSolver *) @@ -55,8 +56,9 @@ HYPRE_DistributedMatrixPilutSolver HYPRE_NewDistributedMatrixPilutSolver( hypre_DistributedMatrixPilutSolverTol(solver) = 0.000001; /* Drop tolerance for factor */ /* Return created structure to calling routine */ - return( (HYPRE_DistributedMatrixPilutSolver) solver ); + *new_solver = ( (HYPRE_DistributedMatrixPilutSolver) solver ); + return( ierr ); } /*-------------------------------------------------------------------------- diff --git a/distributed_linear_solvers/pilut/HYPRE_DistributedMatrixPilutSolver_protos.h b/distributed_linear_solvers/pilut/HYPRE_DistributedMatrixPilutSolver_protos.h index ca473e0bf..86a7940e7 100644 --- a/distributed_linear_solvers/pilut/HYPRE_DistributedMatrixPilutSolver_protos.h +++ b/distributed_linear_solvers/pilut/HYPRE_DistributedMatrixPilutSolver_protos.h @@ -1,7 +1,7 @@ # define P(s) s /* HYPRE_DistributedMatrixPilutSolver.c */ -HYPRE_DistributedMatrixPilutSolver HYPRE_NewDistributedMatrixPilutSolver P((MPI_Comm comm , HYPRE_DistributedMatrix matrix )); +int HYPRE_NewDistributedMatrixPilutSolver P((MPI_Comm comm , HYPRE_DistributedMatrix matrix, HYPRE_DistributedMatrixPilutSolver *solver )); int HYPRE_FreeDistributedMatrixPilutSolver P((HYPRE_DistributedMatrixPilutSolver in_ptr )); int HYPRE_DistributedMatrixPilutSolverInitialize P((HYPRE_DistributedMatrixPilutSolver solver )); int HYPRE_DistributedMatrixPilutSolverSetMatrix P((HYPRE_DistributedMatrixPilutSolver in_ptr , HYPRE_DistributedMatrix matrix )); diff --git a/distributed_linear_solvers/pilut/Makefile.in b/distributed_linear_solvers/pilut/Makefile.in index a3466df40..6feb7a89e 100644 --- a/distributed_linear_solvers/pilut/Makefile.in +++ b/distributed_linear_solvers/pilut/Makefile.in @@ -62,7 +62,7 @@ CFLAGS = \ -I../utilities\ -I.\ -I../CI_struct_matrix_vector\ - -I../PETSc_linear_sovlers/ParILUT\ + -I../PETSc_linear_solvers/ParILUT\ @PETSCINCLUDE@ \ ${C_COMPILE_FLAGS}\ ${CINCLUDES}\ @@ -84,7 +84,7 @@ RANLIB = @RANLIB@ # Main rules ################################################################## -lib_HYPRE_DistributedMatrixPilutSolver.a: ${PROTOS} ${OBJS} +libHYPRE_DistributedMatrixPilutSolver.a: ${PROTOS} ${OBJS} @echo "Building $@ ... " ar -rcu $@ ${OBJS} @RANLIB@ $@ diff --git a/distributed_linear_solvers/pilut/ilut.c b/distributed_linear_solvers/pilut/ilut.c index 1ec6b6df2..337982969 100644 --- a/distributed_linear_solvers/pilut/ilut.c +++ b/distributed_linear_solvers/pilut/ilut.c @@ -22,7 +22,9 @@ int ILUT(DataDistType *ddist, HYPRE_DistributedMatrix matrix, FactorMatType *ldu int dummy_row_ptr[2], *col_ind, size; double *values; +#ifdef HYPRE_DEBUG printf("ILUT, maxnz = %d\n ", maxnz); +#endif /* Allocate memory for ldu */ ldu->lsrowptr = idx_malloc(ddist->ddist_lnrows, "ILUT: ldu->lsrowptr"); diff --git a/distributed_linear_solvers/pilut/internal_protos.h b/distributed_linear_solvers/pilut/internal_protos.h index 5adf6c8ea..4cd85298a 100644 --- a/distributed_linear_solvers/pilut/internal_protos.h +++ b/distributed_linear_solvers/pilut/internal_protos.h @@ -1,7 +1,7 @@ # define P(s) s /* HYPRE_DistributedMatrixPilutSolver.c */ -HYPRE_DistributedMatrixPilutSolver HYPRE_NewDistributedMatrixPilutSolver P((MPI_Comm comm , HYPRE_DistributedMatrix matrix )); +int HYPRE_NewDistributedMatrixPilutSolver P((MPI_Comm comm , HYPRE_DistributedMatrix matrix, HYPRE_DistributedMatrixPilutSolver *solver )); int HYPRE_FreeDistributedMatrixPilutSolver P((HYPRE_DistributedMatrixPilutSolver in_ptr )); int HYPRE_DistributedMatrixPilutSolverInitialize P((HYPRE_DistributedMatrixPilutSolver solver )); int HYPRE_DistributedMatrixPilutSolverSetMatrix P((HYPRE_DistributedMatrixPilutSolver in_ptr , HYPRE_DistributedMatrix matrix )); diff --git a/distributed_linear_solvers/pilut/parilut.c b/distributed_linear_solvers/pilut/parilut.c index ead4a1903..4d2c9c301 100644 --- a/distributed_linear_solvers/pilut/parilut.c +++ b/distributed_linear_solvers/pilut/parilut.c @@ -57,7 +57,9 @@ void ParILUT(DataDistType *ddist, FactorMatType *ldu, int *perm, *iperm, *newiperm, *newperm; ReduceMatType *rmats[2], nrmat; +#ifdef HYPRE_DEBUG PrintLine("ILUT start", globals); +#endif /* Initialize globals */ global_maxnz = gmaxnz; @@ -135,7 +137,9 @@ void ParILUT(DataDistType *ddist, FactorMatType *ldu, cinfo.incolind, cinfo.invalues, newperm, newiperm, vrowdist, -1); +#ifdef HYPRE_DEBUG PrintLine("ParILUT done", globals); +#endif } @@ -160,7 +164,9 @@ void ComputeCommInfo(ReduceMatType *rmat, CommInfoType *cinfo, int *rowdist, MPI_Status Status ; MPI_Request *index_requests; +#ifdef HYPRE_DEBUG PrintLine("ComputeCommInfo", globals); +#endif rnz = rmat->rmat_rnz; @@ -316,7 +322,9 @@ int SelectSet(ReduceMatType *rmat, CommInfoType *cinfo, int nnz, snnbr; int *rcolind, *snbrind, *snbrptr, *srowind; +#ifdef HYPRE_DEBUG PrintLine("SelectSet", globals); +#endif snnbr = cinfo->snnbr; snbrind = cinfo->snbrind; @@ -403,7 +411,9 @@ void SendFactoredRows(FactorMatType *ldu, CommInfoType *cinfo, MPI_Status Status; MPI_Request *index_requests, *value_requests ; +#ifdef HYPRE_DEBUG PrintLine("SendFactoredRows", globals); +#endif snnbr = cinfo->snnbr; snbrind = cinfo->snbrind; @@ -537,7 +547,9 @@ void ComputeRmat(FactorMatType *ldu, ReduceMatType *rmat, double *uvalues, *nrm2s, *invalues, *rvalues, *dvalues; double mult, nval, rtol; +#ifdef HYPRE_DEBUG PrintLine("ComputeRmat", globals); +#endif usrowptr = ldu->usrowptr; uerowptr = ldu->uerowptr; @@ -710,7 +722,9 @@ void FactorLocal(FactorMatType *ldu, ReduceMatType *rmat, double *uvalues, *nrm2s, *rvalues, *dvalues; double mult, nval, rtol; +#ifdef HYPRE_DEBUG PrintLine("FactorLocal", globals); +#endif assert( rmat != nrmat ); assert( perm != newperm ); @@ -1171,7 +1185,9 @@ void EraseMap(CommInfoType *cinfo, int *newperm, int nmis, rnbrptr = cinfo->rnbrptr; incolind = cinfo->incolind; +#ifdef HYPRE_DEBUG PrintLine("EraseMap", globals); +#endif /* clear map of all MIS rows */ for (i=ndone; innodes[0] = nlocal; /* myprintf("Nlocal: %d, Nbnd: %d\n", nlocal, nbnd); */ diff --git a/distributed_ls/pilut/HYPRE_DistributedMatrixPilutSolver.c b/distributed_ls/pilut/HYPRE_DistributedMatrixPilutSolver.c index f82ccdee7..6d33f7955 100644 --- a/distributed_ls/pilut/HYPRE_DistributedMatrixPilutSolver.c +++ b/distributed_ls/pilut/HYPRE_DistributedMatrixPilutSolver.c @@ -6,15 +6,16 @@ * HYPRE_NewDistributedMatrixPilutSolver *--------------------------------------------------------------------------*/ -HYPRE_DistributedMatrixPilutSolver HYPRE_NewDistributedMatrixPilutSolver( +int HYPRE_NewDistributedMatrixPilutSolver( MPI_Comm comm, - HYPRE_DistributedMatrix matrix ) + HYPRE_DistributedMatrix matrix, + HYPRE_DistributedMatrixPilutSolver *new_solver ) /* Allocates and Initializes solver structure */ { hypre_DistributedMatrixPilutSolver *solver; hypre_PilutSolverGlobals *globals; - int ierr, nprocs, myid; + int ierr=0, nprocs, myid; /* Allocate structure for holding solver data */ solver = (hypre_DistributedMatrixPilutSolver *) @@ -55,8 +56,9 @@ HYPRE_DistributedMatrixPilutSolver HYPRE_NewDistributedMatrixPilutSolver( hypre_DistributedMatrixPilutSolverTol(solver) = 0.000001; /* Drop tolerance for factor */ /* Return created structure to calling routine */ - return( (HYPRE_DistributedMatrixPilutSolver) solver ); + *new_solver = ( (HYPRE_DistributedMatrixPilutSolver) solver ); + return( ierr ); } /*-------------------------------------------------------------------------- diff --git a/distributed_ls/pilut/HYPRE_DistributedMatrixPilutSolver_protos.h b/distributed_ls/pilut/HYPRE_DistributedMatrixPilutSolver_protos.h index ca473e0bf..86a7940e7 100644 --- a/distributed_ls/pilut/HYPRE_DistributedMatrixPilutSolver_protos.h +++ b/distributed_ls/pilut/HYPRE_DistributedMatrixPilutSolver_protos.h @@ -1,7 +1,7 @@ # define P(s) s /* HYPRE_DistributedMatrixPilutSolver.c */ -HYPRE_DistributedMatrixPilutSolver HYPRE_NewDistributedMatrixPilutSolver P((MPI_Comm comm , HYPRE_DistributedMatrix matrix )); +int HYPRE_NewDistributedMatrixPilutSolver P((MPI_Comm comm , HYPRE_DistributedMatrix matrix, HYPRE_DistributedMatrixPilutSolver *solver )); int HYPRE_FreeDistributedMatrixPilutSolver P((HYPRE_DistributedMatrixPilutSolver in_ptr )); int HYPRE_DistributedMatrixPilutSolverInitialize P((HYPRE_DistributedMatrixPilutSolver solver )); int HYPRE_DistributedMatrixPilutSolverSetMatrix P((HYPRE_DistributedMatrixPilutSolver in_ptr , HYPRE_DistributedMatrix matrix )); diff --git a/distributed_ls/pilut/Makefile.in b/distributed_ls/pilut/Makefile.in index a3466df40..6feb7a89e 100644 --- a/distributed_ls/pilut/Makefile.in +++ b/distributed_ls/pilut/Makefile.in @@ -62,7 +62,7 @@ CFLAGS = \ -I../utilities\ -I.\ -I../CI_struct_matrix_vector\ - -I../PETSc_linear_sovlers/ParILUT\ + -I../PETSc_linear_solvers/ParILUT\ @PETSCINCLUDE@ \ ${C_COMPILE_FLAGS}\ ${CINCLUDES}\ @@ -84,7 +84,7 @@ RANLIB = @RANLIB@ # Main rules ################################################################## -lib_HYPRE_DistributedMatrixPilutSolver.a: ${PROTOS} ${OBJS} +libHYPRE_DistributedMatrixPilutSolver.a: ${PROTOS} ${OBJS} @echo "Building $@ ... " ar -rcu $@ ${OBJS} @RANLIB@ $@ diff --git a/distributed_ls/pilut/ilut.c b/distributed_ls/pilut/ilut.c index 1ec6b6df2..337982969 100644 --- a/distributed_ls/pilut/ilut.c +++ b/distributed_ls/pilut/ilut.c @@ -22,7 +22,9 @@ int ILUT(DataDistType *ddist, HYPRE_DistributedMatrix matrix, FactorMatType *ldu int dummy_row_ptr[2], *col_ind, size; double *values; +#ifdef HYPRE_DEBUG printf("ILUT, maxnz = %d\n ", maxnz); +#endif /* Allocate memory for ldu */ ldu->lsrowptr = idx_malloc(ddist->ddist_lnrows, "ILUT: ldu->lsrowptr"); diff --git a/distributed_ls/pilut/internal_protos.h b/distributed_ls/pilut/internal_protos.h index 5adf6c8ea..4cd85298a 100644 --- a/distributed_ls/pilut/internal_protos.h +++ b/distributed_ls/pilut/internal_protos.h @@ -1,7 +1,7 @@ # define P(s) s /* HYPRE_DistributedMatrixPilutSolver.c */ -HYPRE_DistributedMatrixPilutSolver HYPRE_NewDistributedMatrixPilutSolver P((MPI_Comm comm , HYPRE_DistributedMatrix matrix )); +int HYPRE_NewDistributedMatrixPilutSolver P((MPI_Comm comm , HYPRE_DistributedMatrix matrix, HYPRE_DistributedMatrixPilutSolver *solver )); int HYPRE_FreeDistributedMatrixPilutSolver P((HYPRE_DistributedMatrixPilutSolver in_ptr )); int HYPRE_DistributedMatrixPilutSolverInitialize P((HYPRE_DistributedMatrixPilutSolver solver )); int HYPRE_DistributedMatrixPilutSolverSetMatrix P((HYPRE_DistributedMatrixPilutSolver in_ptr , HYPRE_DistributedMatrix matrix )); diff --git a/distributed_ls/pilut/parilut.c b/distributed_ls/pilut/parilut.c index ead4a1903..4d2c9c301 100644 --- a/distributed_ls/pilut/parilut.c +++ b/distributed_ls/pilut/parilut.c @@ -57,7 +57,9 @@ void ParILUT(DataDistType *ddist, FactorMatType *ldu, int *perm, *iperm, *newiperm, *newperm; ReduceMatType *rmats[2], nrmat; +#ifdef HYPRE_DEBUG PrintLine("ILUT start", globals); +#endif /* Initialize globals */ global_maxnz = gmaxnz; @@ -135,7 +137,9 @@ void ParILUT(DataDistType *ddist, FactorMatType *ldu, cinfo.incolind, cinfo.invalues, newperm, newiperm, vrowdist, -1); +#ifdef HYPRE_DEBUG PrintLine("ParILUT done", globals); +#endif } @@ -160,7 +164,9 @@ void ComputeCommInfo(ReduceMatType *rmat, CommInfoType *cinfo, int *rowdist, MPI_Status Status ; MPI_Request *index_requests; +#ifdef HYPRE_DEBUG PrintLine("ComputeCommInfo", globals); +#endif rnz = rmat->rmat_rnz; @@ -316,7 +322,9 @@ int SelectSet(ReduceMatType *rmat, CommInfoType *cinfo, int nnz, snnbr; int *rcolind, *snbrind, *snbrptr, *srowind; +#ifdef HYPRE_DEBUG PrintLine("SelectSet", globals); +#endif snnbr = cinfo->snnbr; snbrind = cinfo->snbrind; @@ -403,7 +411,9 @@ void SendFactoredRows(FactorMatType *ldu, CommInfoType *cinfo, MPI_Status Status; MPI_Request *index_requests, *value_requests ; +#ifdef HYPRE_DEBUG PrintLine("SendFactoredRows", globals); +#endif snnbr = cinfo->snnbr; snbrind = cinfo->snbrind; @@ -537,7 +547,9 @@ void ComputeRmat(FactorMatType *ldu, ReduceMatType *rmat, double *uvalues, *nrm2s, *invalues, *rvalues, *dvalues; double mult, nval, rtol; +#ifdef HYPRE_DEBUG PrintLine("ComputeRmat", globals); +#endif usrowptr = ldu->usrowptr; uerowptr = ldu->uerowptr; @@ -710,7 +722,9 @@ void FactorLocal(FactorMatType *ldu, ReduceMatType *rmat, double *uvalues, *nrm2s, *rvalues, *dvalues; double mult, nval, rtol; +#ifdef HYPRE_DEBUG PrintLine("FactorLocal", globals); +#endif assert( rmat != nrmat ); assert( perm != newperm ); @@ -1171,7 +1185,9 @@ void EraseMap(CommInfoType *cinfo, int *newperm, int nmis, rnbrptr = cinfo->rnbrptr; incolind = cinfo->incolind; +#ifdef HYPRE_DEBUG PrintLine("EraseMap", globals); +#endif /* clear map of all MIS rows */ for (i=ndone; innodes[0] = nlocal; /* myprintf("Nlocal: %d, Nbnd: %d\n", nlocal, nbnd); */ diff --git a/distributed_matrix/Makefile.in b/distributed_matrix/Makefile.in index 12b7a048a..34e262f28 100644 --- a/distributed_matrix/Makefile.in +++ b/distributed_matrix/Makefile.in @@ -91,8 +91,8 @@ link: lib: $(PROTOS) ${OBJS} @echo "Building $@ ... " @echo "Building ${OBJS} ... " - @ar -rcu lib_HYPRE_DistributedMatrix.a ${OBJS} - @ranlib lib_HYPRE_DistributedMatrix.a + @ar -rcu libHYPRE_DistributedMatrix.a ${OBJS} + @ranlib libHYPRE_DistributedMatrix.a ################################################################## # Targets diff --git a/matrix_matrix/Makefile.in b/matrix_matrix/Makefile.in index b902e2ad4..b9a1c030c 100644 --- a/matrix_matrix/Makefile.in +++ b/matrix_matrix/Makefile.in @@ -72,8 +72,8 @@ RANLIB = @RANLIB@ lib: $(PROTOS) ${OBJS} @echo "Building $@ ... " - @ar -rcu lib_HYPRE_MatrixMatrix.a ${OBJS} - @ranlib lib_HYPRE_MatrixMatrix.a + @ar -rcu libHYPRE_MatrixMatrix.a ${OBJS} + @ranlib libHYPRE_MatrixMatrix.a ${OBJS}: ${HEADERS} diff --git a/parcsr_linear_solvers/HYPRE_parcsr_pilut.c b/parcsr_linear_solvers/HYPRE_parcsr_pilut.c index 11cb1b465..ce4cfdc0a 100644 --- a/parcsr_linear_solvers/HYPRE_parcsr_pilut.c +++ b/parcsr_linear_solvers/HYPRE_parcsr_pilut.c @@ -42,7 +42,8 @@ HYPRE_ParCSRPilutCreate( MPI_Comm comm, HYPRE_Solver *solver ) { int ierr = 0; - *solver = (HYPRE_Solver) HYPRE_NewDistributedMatrixPilutSolver( comm, NULL); + ierr = HYPRE_NewDistributedMatrixPilutSolver( comm, NULL, + (HYPRE_DistributedMatrixPilutSolver *) solver); ierr = HYPRE_DistributedMatrixPilutSolverInitialize( (HYPRE_DistributedMatrixPilutSolver) solver ); diff --git a/parcsr_ls/HYPRE_parcsr_pilut.c b/parcsr_ls/HYPRE_parcsr_pilut.c index 11cb1b465..ce4cfdc0a 100644 --- a/parcsr_ls/HYPRE_parcsr_pilut.c +++ b/parcsr_ls/HYPRE_parcsr_pilut.c @@ -42,7 +42,8 @@ HYPRE_ParCSRPilutCreate( MPI_Comm comm, HYPRE_Solver *solver ) { int ierr = 0; - *solver = (HYPRE_Solver) HYPRE_NewDistributedMatrixPilutSolver( comm, NULL); + ierr = HYPRE_NewDistributedMatrixPilutSolver( comm, NULL, + (HYPRE_DistributedMatrixPilutSolver *) solver); ierr = HYPRE_DistributedMatrixPilutSolverInitialize( (HYPRE_DistributedMatrixPilutSolver) solver );