Actual source code: itregis.c
2: #include src/eps/epsimpl.h
4: EXTERN_C_BEGIN
5: EXTERN PetscErrorCode EPSCreate_POWER(EPS);
6: EXTERN PetscErrorCode EPSCreate_SUBSPACE(EPS);
7: EXTERN PetscErrorCode EPSCreate_ARNOLDI(EPS);
8: #if defined(SLEPC_HAVE_ARPACK)
9: EXTERN PetscErrorCode EPSCreate_ARPACK(EPS);
10: #endif
11: EXTERN PetscErrorCode EPSCreate_LAPACK(EPS);
12: #if defined(SLEPC_HAVE_BLZPACK) && !defined(PETSC_USE_COMPLEX)
13: EXTERN PetscErrorCode EPSCreate_BLZPACK(EPS);
14: #endif
15: #if defined(SLEPC_HAVE_PLANSO) && !defined(PETSC_USE_COMPLEX)
16: EXTERN PetscErrorCode EPSCreate_PLANSO(EPS);
17: #endif
18: #if defined(SLEPC_HAVE_TRLAN) && !defined(PETSC_USE_COMPLEX)
19: EXTERN PetscErrorCode EPSCreate_TRLAN(EPS);
20: #endif
21: EXTERN_C_END
22:
23: /*
24: This is used by EPSSetType() to make sure that at least one
25: EPSRegisterAll() is called. In general, if there is more than one
26: DLL, then EPSRegisterAll() may be called several times.
27: */
28: EXTERN PetscTruth EPSRegisterAllCalled;
32: /*@C
33: EPSRegisterAll - Registers all the eigenvalue solvers in the EPS package.
35: Not Collective
37: Level: advanced
39: .seealso: EPSRegisterDestroy()
40: @*/
41: PetscErrorCode EPSRegisterAll(char *path)
42: {
43: PetscErrorCode ierr;
46: EPSRegisterAllCalled = PETSC_TRUE;
48: EPSRegisterDynamic(EPSPOWER, path,"EPSCreate_POWER",
49: EPSCreate_POWER);
50: EPSRegisterDynamic(EPSSUBSPACE, path,"EPSCreate_SUBSPACE",
51: EPSCreate_SUBSPACE);
52: EPSRegisterDynamic(EPSARNOLDI, path,"EPSCreate_ARNOLDI",
53: EPSCreate_ARNOLDI);
54: #if defined(SLEPC_HAVE_ARPACK)
55: EPSRegisterDynamic(EPSARPACK, path,"EPSCreate_ARPACK",
56: EPSCreate_ARPACK);
57: #endif
58: EPSRegisterDynamic(EPSLAPACK, path,"EPSCreate_LAPACK",
59: EPSCreate_LAPACK);
60: #if defined(SLEPC_HAVE_BLZPACK) && !defined(PETSC_USE_COMPLEX)
61: EPSRegisterDynamic(EPSBLZPACK, path,"EPSCreate_BLZPACK",
62: EPSCreate_BLZPACK);
63: #endif
64: #if defined(SLEPC_HAVE_PLANSO) && !defined(PETSC_USE_COMPLEX)
65: EPSRegisterDynamic(EPSPLANSO, path,"EPSCreate_PLANSO",
66: EPSCreate_PLANSO);
67: #endif
68: #if defined(SLEPC_HAVE_TRLAN) && !defined(PETSC_USE_COMPLEX)
69: EPSRegisterDynamic(EPSTRLAN, path,"EPSCreate_TRLAN",
70: EPSCreate_TRLAN);
71: #endif
72: return(0);
73: }