Actual source code: zslepcutil.c

slepc-3.21.2 2024-09-25
Report Typos and Errors
  1: /*
  2:    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  3:    SLEPc - Scalable Library for Eigenvalue Problem Computations
  4:    Copyright (c) 2002-, 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 <petsc/private/fortranimpl.h>
 12: #include <slepcsys.h>

 14: #if defined(PETSC_HAVE_FORTRAN_CAPS)
 15: #define slepcgetversion_              SLEPCGETVERSION
 16: #define slepcgetversionnumber_        SLEPCGETVERSIONNUMBER
 17: #define slepchasexternalpackage_      SLEPCHASEXTERNALPACKAGE
 18: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
 19: #define slepcgetversion_              slepcgetversion
 20: #define slepcgetversionnumber_        slepcgetversionnumber
 21: #define slepchasexternalpackage_      slepchasexternalpackage
 22: #endif

 24: SLEPC_EXTERN void slepcgetversion_(char *version,PetscErrorCode *ierr,PETSC_FORTRAN_CHARLEN_T len1)
 25: {
 26:   *ierr = SlepcGetVersion(version,len1);if (*ierr) return;
 27:   FIXRETURNCHAR(PETSC_TRUE,version,len1);
 28: }

 30: SLEPC_EXTERN void slepcgetversionnumber_(PetscInt *major,PetscInt *minor,PetscInt *subminor,PetscInt *release,PetscErrorCode *ierr)
 31: {
 32:   CHKFORTRANNULLINTEGER(major);
 33:   CHKFORTRANNULLINTEGER(minor);
 34:   CHKFORTRANNULLINTEGER(subminor);
 35:   CHKFORTRANNULLINTEGER(release);
 36:   *ierr = SlepcGetVersionNumber(major,minor,subminor,release);
 37: }

 39: SLEPC_EXTERN void slepchasexternalpackage_(char* pkg,PetscBool *has,PetscErrorCode *ierr,PETSC_FORTRAN_CHARLEN_T len)
 40: {
 41:   char *t1;

 43:   FIXCHAR(pkg,len,t1);
 44:   *ierr = SlepcHasExternalPackage(t1,has);if (*ierr) return;
 45:   FREECHAR(pkg,t1);
 46: }