1: #include <petsc-private/sfimpl.h> 3: PetscClassId PETSCSF_CLASSID; 5: static PetscBool PetscSFPackageInitialized = PETSC_FALSE; 9: /*@C 10: PetscSFInitializePackage - Initialize SF package 12: Logically Collective 14: Input Arguments: 15: . path - the dynamic library path or PETSC_NULL 17: Level: developer 19: .seealso: PetscSFFinalizePackage() 20: @*/ 21: PetscErrorCode PetscSFInitializePackage(const char *path) 22: { 26: if (PetscSFPackageInitialized) return(0); 27: PetscSFPackageInitialized = PETSC_TRUE; 28: PetscClassIdRegister("Bipartite Graph",&PETSCSF_CLASSID); 29: PetscRegisterFinalize(PetscSFFinalizePackage); 30: return(0); 31: } 35: /*@C 36: PetscSFFinalizePackage - Finalize PetscSF package, it is called from PetscFinalize() 38: Logically Collective 40: Level: developer 42: .seealso: PetscSFInitializePackage() 43: @*/ 44: PetscErrorCode PetscSFFinalizePackage(void) 45: { 48: PetscSFPackageInitialized = PETSC_FALSE; 49: return(0); 50: }