1: #define PETSC_DLL 3: #include src/sys/utils/random/randomimpl.h 4: #if defined (PETSC_HAVE_STDLIB_H) 5: #include <stdlib.h> 6: #endif 10: /*@C 11: PetscRandomInitializePackage - This function initializes everything in the PetscRandom package. It is called 12: from PetscDLLibraryRegister() when using dynamic libraries, and on the first call to PetscRandomCreate() 13: when using static libraries. 15: Input Parameter: 16: path - The dynamic library path, or PETSC_NULL 18: Level: developer 20: .keywords: PetscRandom, initialize, package 21: .seealso: PetscInitialize() 22: @*/ 23: PetscErrorCode PetscRandomInitializePackage(char *path) 24: { 25: static PetscTruth initialized = PETSC_FALSE; 26: PetscErrorCode ierr; 29: if (initialized) return(0); 30: initialized = PETSC_TRUE; 31: /* Register Classes */ 32: PetscLogClassRegister(&PETSC_RANDOM_COOKIE,"PetscRandom"); 33: /* PetscLogClassRegister(&PF_COOKIE, "PointFunction"); */ 34: PetscRandomRegisterAll(path); 35: /* PFRegisterAll(path); */ 36: return(0); 37: } 39: #ifdef PETSC_USE_DYNAMIC_LIBRARIES 43: /* 44: PetscDLLibraryRegister - This function is called when the dynamic library it is in is opened. 46: This one registers all the methods that are in the basic PETSc library. 48: Input Parameter: 49: path - library path 50: */ 51: PetscErrorCode PetscDLLibraryRegister_petscrandom(char *path) 52: { 55: PetscInitializeNoArguments(); if (ierr) return 1; 58: /* 59: If we got here then PETSc was properly loaded 60: */ 61: PetscRandomInitializePackage(path); 62: return(0); 63: } 66: #endif /* PETSC_USE_DYNAMIC_LIBRARIES */