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