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