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: { 32: if (MatColoringRegisterAllCalled) return(0); 33: MatColoringRegisterAllCalled = PETSC_TRUE; 34: MatColoringRegister(MATCOLORINGJP,MatColoringCreate_JP); 35: MatColoringRegister(MATCOLORINGGREEDY,MatColoringCreate_Greedy); 36: MatColoringRegister(MATCOLORINGPOWER,MatColoringCreate_Power); 37: MatColoringRegister(MATCOLORINGNATURAL,MatColoringCreate_Natural); 38: MatColoringRegister(MATCOLORINGSL,MatColoringCreate_SL); 39: MatColoringRegister(MATCOLORINGID,MatColoringCreate_ID); 40: MatColoringRegister(MATCOLORINGLF,MatColoringCreate_LF); 41: return(0); 42: }