Actual source code: zslepcutil.c
slepc-3.21.1 2024-04-26
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: }