xref: /petsc/src/mat/graphops/coarsen/interface/scoarsen.c (revision 0062f871983a63f49e6f0d2ab37969d3e8074e10)
1*a77d671bSBarry Smith #include <petscmat.h>
2*a77d671bSBarry Smith #include <petsc/private/matimpl.h>
3*a77d671bSBarry Smith 
4*a77d671bSBarry Smith PETSC_EXTERN PetscErrorCode MatCoarsenCreate_MIS(MatCoarsen);
5*a77d671bSBarry Smith PETSC_EXTERN PetscErrorCode MatCoarsenCreate_HEM(MatCoarsen);
6*a77d671bSBarry Smith PETSC_EXTERN PetscErrorCode MatCoarsenCreate_MISK(MatCoarsen);
7*a77d671bSBarry Smith 
8*a77d671bSBarry Smith /*@C
9*a77d671bSBarry Smith   MatCoarsenRegisterAll - Registers all of the matrix Coarsen routines in PETSc.
10*a77d671bSBarry Smith 
11*a77d671bSBarry Smith   Not Collective
12*a77d671bSBarry Smith 
13*a77d671bSBarry Smith   Level: developer
14*a77d671bSBarry Smith 
15*a77d671bSBarry Smith .seealso: `MatCoarsen`, `MatCoarsenType`, `MatCoarsenRegister()`, `MatCoarsenRegisterDestroy()`
16*a77d671bSBarry Smith  @*/
MatCoarsenRegisterAll(void)17*a77d671bSBarry Smith PetscErrorCode MatCoarsenRegisterAll(void)
18*a77d671bSBarry Smith {
19*a77d671bSBarry Smith   PetscFunctionBegin;
20*a77d671bSBarry Smith   if (MatCoarsenRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
21*a77d671bSBarry Smith   MatCoarsenRegisterAllCalled = PETSC_TRUE;
22*a77d671bSBarry Smith 
23*a77d671bSBarry Smith   PetscCall(MatCoarsenRegister(MATCOARSENMIS, MatCoarsenCreate_MIS));
24*a77d671bSBarry Smith   PetscCall(MatCoarsenRegister(MATCOARSENHEM, MatCoarsenCreate_HEM));
25*a77d671bSBarry Smith   PetscCall(MatCoarsenRegister(MATCOARSENMISK, MatCoarsenCreate_MISK));
26*a77d671bSBarry Smith   PetscFunctionReturn(PETSC_SUCCESS);
27*a77d671bSBarry Smith }
28