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: }