Actual source code: dlregissnes.c

  1: #define PETSCSNES_DLL

 3:  #include include/private/snesimpl.h

  7: /*@C
  8:   SNESInitializePackage - This function initializes everything in the SNES package. It is called
  9:   from PetscDLLibraryRegister() when using dynamic libraries, and on the first call to SNESCreate()
 10:   when using static libraries.

 12:   Input Parameter:
 13:   path - The dynamic library path, or PETSC_NULL

 15:   Level: developer

 17: .keywords: SNES, initialize, package
 18: .seealso: PetscInitialize()
 19: @*/
 20: PetscErrorCode  SNESInitializePackage(const char path[])
 21: {
 22:   static PetscTruth initialized = PETSC_FALSE;
 23:   char              logList[256];
 24:   char              *className;
 25:   PetscTruth        opt;
 26:   PetscErrorCode    ierr;

 29:   if (initialized) return(0);
 30:   initialized = PETSC_TRUE;
 31:   /* Register Classes */
 32:   PetscLogClassRegister(&SNES_COOKIE,         "SNES");
 33:   /* Register Constructors */
 34:   SNESRegisterAll(path);
 35:   /* Register Events */
 40:   /* Process info exclusions */
 41:   PetscOptionsGetString(PETSC_NULL, "-info_exclude", logList, 256, &opt);
 42:   if (opt) {
 43:     PetscStrstr(logList, "snes", &className);
 44:     if (className) {
 45:       PetscInfoDeactivateClass(SNES_COOKIE);
 46:     }
 47:   }
 48:   /* Process summary exclusions */
 49:   PetscOptionsGetString(PETSC_NULL, "-log_summary_exclude", logList, 256, &opt);
 50:   if (opt) {
 51:     PetscStrstr(logList, "snes", &className);
 52:     if (className) {
 54:     }
 55:   }
 56:   return(0);
 57: }

 59: #ifdef PETSC_USE_DYNAMIC_LIBRARIES
 63: /*
 64:   PetscDLLibraryRegister - This function is called when the dynamic library it is in is opened.

 66:   This registers all of the SNES methods that are in the basic PETSc libpetscsnes library.

 68:   Input Parameter:
 69:   path - library path

 71:  */
 72: PetscErrorCode  PetscDLLibraryRegister_petscsnes(const char path[])
 73: {

 76:   PetscInitializeNoArguments(); if (ierr) return 1;
 78:   /*
 79:       If we got here then PETSc was properly loaded
 80:   */
 81:   SNESInitializePackage(path);
 82:   return(0);
 83: }

 86: #endif /* PETSC_USE_DYNAMIC_LIBRARIES */