Actual source code: svdregis.c
slepc-3.14.2 2021-02-01
1: /*
2: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3: SLEPc - Scalable Library for Eigenvalue Problem Computations
4: Copyright (c) 2002-2020, Universitat Politecnica de Valencia, Spain
6: This file is part of SLEPc.
7: SLEPc is distributed under a 2-clause BSD license (see LICENSE).
8: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
9: */
11: #include <slepc/private/svdimpl.h>
13: SLEPC_EXTERN PetscErrorCode SVDCreate_Cross(SVD);
14: SLEPC_EXTERN PetscErrorCode SVDCreate_Cyclic(SVD);
15: SLEPC_EXTERN PetscErrorCode SVDCreate_LAPACK(SVD);
16: SLEPC_EXTERN PetscErrorCode SVDCreate_Lanczos(SVD);
17: SLEPC_EXTERN PetscErrorCode SVDCreate_TRLanczos(SVD);
18: #if defined(SLEPC_HAVE_SCALAPACK)
19: SLEPC_EXTERN PetscErrorCode SVDCreate_ScaLAPACK(SVD);
20: #endif
21: #if defined(SLEPC_HAVE_ELEMENTAL)
22: SLEPC_EXTERN PetscErrorCode SVDCreate_Elemental(SVD);
23: #endif
24: #if defined(SLEPC_HAVE_PRIMME)
25: SLEPC_EXTERN PetscErrorCode SVDCreate_PRIMME(SVD);
26: #endif
28: /*@C
29: SVDRegisterAll - Registers all the singular value solvers in the SVD package.
31: Not Collective
33: Level: advanced
35: .seealso: SVDRegister()
36: @*/
37: PetscErrorCode SVDRegisterAll(void)
38: {
42: if (SVDRegisterAllCalled) return(0);
43: SVDRegisterAllCalled = PETSC_TRUE;
44: SVDRegister(SVDCROSS,SVDCreate_Cross);
45: SVDRegister(SVDCYCLIC,SVDCreate_Cyclic);
46: SVDRegister(SVDLAPACK,SVDCreate_LAPACK);
47: SVDRegister(SVDLANCZOS,SVDCreate_Lanczos);
48: SVDRegister(SVDTRLANCZOS,SVDCreate_TRLanczos);
49: #if defined(SLEPC_HAVE_SCALAPACK)
50: SVDRegister(SVDSCALAPACK,SVDCreate_ScaLAPACK);
51: #endif
52: #if defined(SLEPC_HAVE_ELEMENTAL)
53: SVDRegister(SVDELEMENTAL,SVDCreate_Elemental);
54: #endif
55: #if defined(SLEPC_HAVE_PRIMME)
56: SVDRegister(SVDPRIMME,SVDCreate_PRIMME);
57: #endif
58: return(0);
59: }