1: #include <petsc/private/vecimpl.h> 3: PetscClassId VEC_TAGGER_CLASSID; 5: static PetscBool VecTaggerPackageInitialized = PETSC_FALSE; 7: PetscBool VecTaggerRegisterAllCalled; 9: /*@C 10: VecTaggerInitializePackage - Initialize VecTagger package 12: Logically Collective 14: Level: developer 16: .seealso: VecTaggerFinalizePackage() 17: @*/ 18: PetscErrorCode VecTaggerInitializePackage(void) 19: { 23: if (VecTaggerPackageInitialized) return(0); 24: VecTaggerPackageInitialized = PETSC_TRUE; 26: PetscClassIdRegister("Vector Indices Tagger",&VEC_TAGGER_CLASSID); 27: VecTaggerRegisterAll(); 28: PetscRegisterFinalize(VecTaggerFinalizePackage); 29: return(0); 30: } 32: /*@C 33: VecTaggerFinalizePackage - Finalize VecTagger package, it is called from PetscFinalize() 35: Logically Collective 37: Level: developer 39: .seealso: VecTaggerInitializePackage() 40: @*/ 41: PetscErrorCode VecTaggerFinalizePackage(void) 42: { 46: PetscFunctionListDestroy(&VecTaggerList); 47: VecTaggerPackageInitialized = PETSC_FALSE; 48: VecTaggerRegisterAllCalled = PETSC_FALSE; 49: return(0); 50: }