Actual source code: zslepcutil.c
slepc-3.21.2 2024-09-25
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: }