Actual source code: matcoloringregi.c

  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: }