Actual source code: svdregis.c

slepc-3.14.1 2020-12-08
Report Typos and Errors
  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: }