Actual source code: itregis.c
1: /*
2: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3: SLEPc - Scalable Library for Eigenvalue Problem Computations
4: Copyright (c) 2002-2012, Universitat Politecnica de Valencia, Spain
6: This file is part of SLEPc.
7:
8: SLEPc is free software: you can redistribute it and/or modify it under the
9: terms of version 3 of the GNU Lesser General Public License as published by
10: the Free Software Foundation.
12: SLEPc is distributed in the hope that it will be useful, but WITHOUT ANY
13: WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14: FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
15: more details.
17: You should have received a copy of the GNU Lesser General Public License
18: along with SLEPc. If not, see <http://www.gnu.org/licenses/>.
19: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
20: */
22: #include <slepc-private/epsimpl.h> /*I "slepceps.h" I*/
24: EXTERN_C_BEGIN
25: extern PetscErrorCode EPSCreate_Power(EPS);
26: extern PetscErrorCode EPSCreate_Subspace(EPS);
27: extern PetscErrorCode EPSCreate_Arnoldi(EPS);
28: extern PetscErrorCode EPSCreate_Lanczos(EPS);
29: extern PetscErrorCode EPSCreate_KrylovSchur(EPS);
30: #if defined(SLEPC_HAVE_ARPACK)
31: extern PetscErrorCode EPSCreate_ARPACK(EPS);
32: #endif
33: extern PetscErrorCode EPSCreate_LAPACK(EPS);
34: #if defined(SLEPC_HAVE_BLZPACK) && !defined(PETSC_USE_COMPLEX)
35: extern PetscErrorCode EPSCreate_BLZPACK(EPS);
36: #endif
37: #if defined(SLEPC_HAVE_TRLAN) && !defined(PETSC_USE_COMPLEX)
38: extern PetscErrorCode EPSCreate_TRLAN(EPS);
39: #endif
40: #if defined(SLEPC_HAVE_BLOPEX)
41: extern PetscErrorCode EPSCreate_BLOPEX(EPS);
42: #endif
43: #if defined(SLEPC_HAVE_PRIMME)
44: extern PetscErrorCode EPSCreate_PRIMME(EPS eps);
45: #endif
46: extern PetscErrorCode EPSCreate_GD(EPS eps);
47: extern PetscErrorCode EPSCreate_JD(EPS eps);
48: extern PetscErrorCode EPSCreate_RQCG(EPS eps);
49: EXTERN_C_END
50:
53: /*@C
54: EPSRegisterAll - Registers all the eigenvalue solvers in the EPS package.
56: Not Collective
58: Level: advanced
60: .seealso: EPSRegisterDynamic()
61: @*/
62: PetscErrorCode EPSRegisterAll(const char *path)
63: {
67: EPSRegisterAllCalled = PETSC_TRUE;
68: EPSRegisterDynamic(EPSKRYLOVSCHUR,path,"EPSCreate_KrylovSchur",EPSCreate_KrylovSchur);
69: EPSRegisterDynamic(EPSPOWER,path,"EPSCreate_Power",EPSCreate_Power);
70: EPSRegisterDynamic(EPSSUBSPACE,path,"EPSCreate_Subspace",EPSCreate_Subspace);
71: EPSRegisterDynamic(EPSARNOLDI,path,"EPSCreate_Arnoldi",EPSCreate_Arnoldi);
72: EPSRegisterDynamic(EPSLANCZOS,path,"EPSCreate_Lanczos",EPSCreate_Lanczos);
73: EPSRegisterDynamic(EPSGD,path,"EPSCreate_GD",EPSCreate_GD);
74: EPSRegisterDynamic(EPSJD,path,"EPSCreate_JD",EPSCreate_JD);
75: EPSRegisterDynamic(EPSRQCG,path,"EPSCreate_RQCG",EPSCreate_RQCG);
76: EPSRegisterDynamic(EPSLAPACK,path,"EPSCreate_LAPACK",EPSCreate_LAPACK);
77: #if defined(SLEPC_HAVE_ARPACK)
78: EPSRegisterDynamic(EPSARPACK,path,"EPSCreate_ARPACK",EPSCreate_ARPACK);
79: #endif
80: #if defined(SLEPC_HAVE_BLZPACK) && !defined(PETSC_USE_COMPLEX)
81: EPSRegisterDynamic(EPSBLZPACK,path,"EPSCreate_BLZPACK",EPSCreate_BLZPACK);
82: #endif
83: #if defined(SLEPC_HAVE_TRLAN) && !defined(PETSC_USE_COMPLEX)
84: EPSRegisterDynamic(EPSTRLAN,path,"EPSCreate_TRLAN",EPSCreate_TRLAN);
85: #endif
86: #if defined(SLEPC_HAVE_BLOPEX)
87: EPSRegisterDynamic(EPSBLOPEX,path,"EPSCreate_BLOPEX",EPSCreate_BLOPEX);
88: #endif
89: #if defined(SLEPC_HAVE_PRIMME)
90: EPSRegisterDynamic(EPSPRIMME,path,"EPSCreate_PRIMME",EPSCreate_PRIMME);
91: #endif
92: return(0);
93: }