2: #include <../src/sys/classes/random/randomimpl.h> 4: static PetscBool PetscRandomPackageInitialized = PETSC_FALSE; 5: /*@C 6: PetscRandomFinalizePackage - This function destroys everything in the Petsc interface to the Random package. It is 7: called from PetscFinalize(). 9: Level: developer 11: .keywords: Petsc, destroy, package, mathematica 12: .seealso: PetscFinalize() 13: @*/ 14: PetscErrorCode PetscRandomFinalizePackage(void) 15: { 19: PetscFunctionListDestroy(&PetscRandomList); 20: PetscRandomPackageInitialized = PETSC_FALSE; 21: PetscRandomRegisterAllCalled = PETSC_FALSE; 22: return(0); 23: } 25: /*@C 26: PetscRandomInitializePackage - This function initializes everything in the PetscRandom package. It is called 27: from PetscDLLibraryRegister() when using dynamic libraries, and on the first call to PetscRandomCreate() 28: when using static libraries. 30: Level: developer 32: .keywords: PetscRandom, initialize, package 33: .seealso: PetscInitialize() 34: @*/ 35: PetscErrorCode PetscRandomInitializePackage(void) 36: { 40: if (PetscRandomPackageInitialized) return(0); 41: PetscRandomPackageInitialized = PETSC_TRUE; 42: /* Register Class */ 43: PetscClassIdRegister("PetscRandom",&PETSC_RANDOM_CLASSID); 44: PetscRandomRegisterAll(); 45: PetscRegisterFinalize(PetscRandomFinalizePackage); 46: return(0); 47: }