Actual source code: matcoloringregi.c

      2: #include <petscmat.h>
      3: #include <petsc/private/matimpl.h>

      5: PETSC_EXTERN PetscErrorCode MatColoringCreate_JP(MatColoring);
      6: PETSC_EXTERN PetscErrorCode MatColoringCreate_Greedy(MatColoring);
      7: PETSC_EXTERN PetscErrorCode MatColoringCreate_Power(MatColoring);
      8: PETSC_EXTERN PetscErrorCode MatColoringCreate_Natural(MatColoring);
      9: PETSC_EXTERN PetscErrorCode MatColoringCreate_SL(MatColoring);
     10: PETSC_EXTERN PetscErrorCode MatColoringCreate_ID(MatColoring);
     11: PETSC_EXTERN PetscErrorCode MatColoringCreate_LF(MatColoring);

     13: /*@C
     14:   MatColoringRegisterAll - Registers all of the matrix Coloring routines in PETSc.

     16:   Not Collective

     18:   Level: developer

     20:   Adding new methods:
     21:   To add a new method to the registry. Copy this routine and
     22:   modify it to incorporate a call to MatColoringRegister() for
     23:   the new method, after the current list.

     25:  .seealso: MatColoringRegister(), MatColoringRegisterDestroy()
     26:  @*/
     27: PetscErrorCode  MatColoringRegisterAll(void)
     28: {
     29:   if (MatColoringRegisterAllCalled) return 0;
     30:   MatColoringRegisterAllCalled = PETSC_TRUE;
     31:   MatColoringRegister(MATCOLORINGJP,MatColoringCreate_JP);
     32:   MatColoringRegister(MATCOLORINGGREEDY,MatColoringCreate_Greedy);
     33:   MatColoringRegister(MATCOLORINGPOWER,MatColoringCreate_Power);
     34:   MatColoringRegister(MATCOLORINGNATURAL,MatColoringCreate_Natural);
     35:   MatColoringRegister(MATCOLORINGSL,MatColoringCreate_SL);
     36:   MatColoringRegister(MATCOLORINGID,MatColoringCreate_ID);
     37:   MatColoringRegister(MATCOLORINGLF,MatColoringCreate_LF);
     38:   return 0;
     39: }