12 #ifndef MFEM_HYPRE_PARCSR
13 #define MFEM_HYPRE_PARCSR
15 #include "../config/config.hpp"
19 #include "_hypre_parcsr_mv.h"
33 void hypre_ParCSRMatrixEliminateAXB(hypre_ParCSRMatrix *A,
34 HYPRE_Int num_rowscols_to_elim,
35 HYPRE_Int *rowscols_to_elim,
42 void hypre_ParCSRMatrixEliminateAAe(hypre_ParCSRMatrix *A,
43 hypre_ParCSRMatrix **Ae,
44 HYPRE_Int num_rowscols_to_elim,
45 HYPRE_Int *rowscols_to_elim);
53 void hypre_ParCSRMatrixSplit(hypre_ParCSRMatrix *A,
54 HYPRE_Int nr, HYPRE_Int nc,
55 hypre_ParCSRMatrix **blocks,
56 int interleaved_rows,
int interleaved_cols);
58 typedef int HYPRE_Bool;
59 #define HYPRE_MPI_BOOL MPI_INT
63 void hypre_CSRMatrixBooleanMatvec(hypre_CSRMatrix *A,
69 hypre_ParCSRCommHandle *
70 hypre_ParCSRCommHandleCreate_bool(HYPRE_Int job,
71 hypre_ParCSRCommPkg *comm_pkg,
72 HYPRE_Bool *send_data,
73 HYPRE_Bool *recv_data);
77 void hypre_ParCSRMatrixBooleanMatvec(hypre_ParCSRMatrix *A,
87 #endif // MFEM_USE_MPI