Actual source code: scoarsen.c
 
   petsc-3.6.2 2015-10-02
   
  2: #include <petscmat.h>
  3: #include <petsc/private/matimpl.h>
  5: PETSC_EXTERN PetscErrorCode MatCoarsenCreate_MIS(MatCoarsen);
  6: PETSC_EXTERN PetscErrorCode MatCoarsenCreate_HEM(MatCoarsen);
 10: /*@C
 11:   MatCoarsenRegisterAll - Registers all of the matrix Coarsen routines in PETSc.
 13:   Not Collective
 15:   Level: developer
 17:   Adding new methods:
 18:   To add a new method to the registry. Copy this routine and
 19:   modify it to incorporate a call to MatCoarsenRegister() for
 20:   the new method, after the current list.
 22:   Restricting the choices: To prevent all of the methods from being
 23:   registered and thus save memory, copy this routine and modify it to
 24:   register a zero, instead of the function name, for those methods you
 25:  do not wish to register.  Make sure that the replacement routine is
 26:   linked before libpetscmat.a.
 28:  .keywords: matrix, Coarsen, register, all
 30:  .seealso: MatCoarsenRegister(), MatCoarsenRegisterDestroy()
 31:  @*/
 32: PetscErrorCode  MatCoarsenRegisterAll(void)
 33: {
 37:   if (MatCoarsenRegisterAllCalled) return(0);
 38:   MatCoarsenRegisterAllCalled = PETSC_TRUE;
 40:   MatCoarsenRegister(MATCOARSENMIS,MatCoarsenCreate_MIS);
 41:   MatCoarsenRegister(MATCOARSENHEM,MatCoarsenCreate_HEM);
 42:   return(0);
 43: }