Actual source code: dlregisdm.c
2: #include <../src/vec/is/ao/aoimpl.h>
4: static PetscBool AOPackageInitialized = PETSC_FALSE;
6: /*@C
7: AOFinalizePackage - This function finalizes everything in the AO package. It is called
8: from PetscFinalize().
10: Level: developer
12: .seealso: PetscInitialize()
13: @*/
14: PetscErrorCode AOFinalizePackage(void)
15: {
16: PetscFunctionListDestroy(&AOList);
17: AOPackageInitialized = PETSC_FALSE;
18: AORegisterAllCalled = PETSC_FALSE;
19: return 0;
20: }
22: /*@C
23: AOInitializePackage - This function initializes everything in the AO package. It is called
24: from PetscDLLibraryRegister_petscvec() when using dynamic libraries, and on the first call to AOCreate()
25: when using static or shared libraries.
27: Level: developer
29: .seealso: PetscInitialize()
30: @*/
31: PetscErrorCode AOInitializePackage(void)
32: {
33: char logList[256];
34: PetscBool opt,pkg;
36: if (AOPackageInitialized) return 0;
37: AOPackageInitialized = PETSC_TRUE;
38: /* Register Classes */
39: PetscClassIdRegister("Application Order",&AO_CLASSID);
40: /* Register Constructors */
41: AORegisterAll();
42: /* Register Events */
43: PetscLogEventRegister("AOPetscToApplication", AO_CLASSID,&AO_PetscToApplication);
44: PetscLogEventRegister("AOApplicationToPetsc", AO_CLASSID,&AO_ApplicationToPetsc);
45: /* Process Info */
46: {
47: PetscClassId classids[1];
49: classids[0] = AO_CLASSID;
50: PetscInfoProcessClass("ao", 1, classids);
51: }
52: /* Process summary exclusions */
53: PetscOptionsGetString(NULL,NULL,"-log_exclude",logList,sizeof(logList),&opt);
54: if (opt) {
55: PetscStrInList("ao",logList,',',&pkg);
56: if (pkg) PetscLogEventExcludeClass(AO_CLASSID);
57: }
58: /* Register package finalizer */
59: PetscRegisterFinalize(AOFinalizePackage);
60: return 0;
61: }