Actual source code: fnregis.c

slepc-3.7.0 2016-05-16
Report Typos and Errors
  1: /*
  2:    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  3:    SLEPc - Scalable Library for Eigenvalue Problem Computations
  4:    Copyright (c) 2002-2016, Universitat Politecnica de Valencia, Spain

  6:    This file is part of SLEPc.

  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/fnimpl.h>      /*I "slepcfn.h" I*/

 24: PETSC_EXTERN PetscErrorCode FNCreate_Combine(FN);
 25: PETSC_EXTERN PetscErrorCode FNCreate_Rational(FN);
 26: PETSC_EXTERN PetscErrorCode FNCreate_Exp(FN);
 27: PETSC_EXTERN PetscErrorCode FNCreate_Log(FN);
 28: PETSC_EXTERN PetscErrorCode FNCreate_Phi(FN);
 29: PETSC_EXTERN PetscErrorCode FNCreate_Sqrt(FN);
 30: PETSC_EXTERN PetscErrorCode FNCreate_Invsqrt(FN);

 34: /*@C
 35:    FNRegisterAll - Registers all of the math functions in the FN package.

 37:    Not Collective

 39:    Level: advanced
 40: @*/
 41: PetscErrorCode FNRegisterAll(void)
 42: {

 46:   if (FNRegisterAllCalled) return(0);
 47:   FNRegisterAllCalled = PETSC_TRUE;
 48:   FNRegister(FNCOMBINE,FNCreate_Combine);
 49:   FNRegister(FNRATIONAL,FNCreate_Rational);
 50:   FNRegister(FNEXP,FNCreate_Exp);
 51:   FNRegister(FNLOG,FNCreate_Log);
 52:   FNRegister(FNPHI,FNCreate_Phi);
 53:   FNRegister(FNSQRT,FNCreate_Sqrt);
 54:   FNRegister(FNINVSQRT,FNCreate_Invsqrt);
 55:   return(0);
 56: }