1: #include <petscmat.h>
2: #include <petsc/private/matimpl.h>
4: PETSC_EXTERN PetscErrorCode MatColoringCreate_JP(MatColoring);
5: PETSC_EXTERN PetscErrorCode MatColoringCreate_Greedy(MatColoring);
6: PETSC_EXTERN PetscErrorCode MatColoringCreate_Power(MatColoring);
7: PETSC_EXTERN PetscErrorCode MatColoringCreate_Natural(MatColoring);
8: PETSC_EXTERN PetscErrorCode MatColoringCreate_SL(MatColoring);
9: PETSC_EXTERN PetscErrorCode MatColoringCreate_ID(MatColoring);
10: PETSC_EXTERN PetscErrorCode MatColoringCreate_LF(MatColoring);
12: /*@C
13: MatColoringRegisterAll - Registers all of the matrix coloring routines in PETSc.
15: Not Collective
17: Level: developer
19: .seealso: `MatColoring`, `MatColoringRegister()`, `MatColoringRegisterDestroy()`
20: @*/
21: PetscErrorCode MatColoringRegisterAll(void)
22: {
23: PetscFunctionBegin;
24: if (MatColoringRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
25: MatColoringRegisterAllCalled = PETSC_TRUE;
26: PetscCall(MatColoringRegister(MATCOLORINGJP, MatColoringCreate_JP));
27: PetscCall(MatColoringRegister(MATCOLORINGGREEDY, MatColoringCreate_Greedy));
28: PetscCall(MatColoringRegister(MATCOLORINGPOWER, MatColoringCreate_Power));
29: PetscCall(MatColoringRegister(MATCOLORINGNATURAL, MatColoringCreate_Natural));
30: PetscCall(MatColoringRegister(MATCOLORINGSL, MatColoringCreate_SL));
31: PetscCall(MatColoringRegister(MATCOLORINGID, MatColoringCreate_ID));
32: PetscCall(MatColoringRegister(MATCOLORINGLF, MatColoringCreate_LF));
33: PetscFunctionReturn(PETSC_SUCCESS);
34: }