Actual source code: slepcsysmod.F90
slepc-3.19.0 2023-03-31
1: !
2: ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3: ! SLEPc - Scalable Library for Eigenvalue Problem Computations
4: ! Copyright (c) 2002-, Universitat Politecnica de Valencia, Spain
5: !
6: ! This file is part of SLEPc.
7: ! SLEPc is distributed under a 2-clause BSD license (see LICENSE).
8: ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
9: !
10: module slepcsysdef
11: use petscmatdef
12: use petscsys
13: #include <../src/sys/f90-mod/slepcsys.h>
14: end module
16: module slepcsys
17: use,intrinsic :: iso_c_binding
18: use slepcsysdef
19: #include <../src/sys/f90-mod/slepcsys.h90>
20: interface
21: #include <../src/sys/f90-mod/ftn-auto-interfaces/slepcsys.h90>
22: end interface
23: interface SlepcInitialize
24: module procedure SlepcInitializeWithHelp, SlepcInitializeNoHelp, SlepcInitializeNoArguments
25: end interface
26: contains
27: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
28: !DEC$ ATTRIBUTES DLLEXPORT::SlepcInitializeWithHelp
29: #endif
30: subroutine SlepcInitializeWithHelp(filename,help,ierr)
31: character(len=*) :: filename
32: character(len=*) :: help
33: PetscErrorCode :: ierr
35: if (filename .ne. PETSC_NULL_CHARACTER) then
36: filename = trim(filename)
37: endif
38: call SlepcInitializeF(filename,help,PETSC_TRUE,ierr)
39: CHKERRQ(ierr)
40: end subroutine SlepcInitializeWithHelp
42: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
43: !DEC$ ATTRIBUTES DLLEXPORT::SlepcInitializeNoHelp
44: #endif
45: subroutine SlepcInitializeNoHelp(filename,ierr)
46: character(len=*) :: filename
47: PetscErrorCode :: ierr
49: if (filename .ne. PETSC_NULL_CHARACTER) then
50: filename = trim(filename)
51: endif
52: call SlepcInitializeF(filename,PETSC_NULL_CHARACTER,PETSC_TRUE,ierr)
53: CHKERRQ(ierr)
54: end subroutine SlepcInitializeNoHelp
56: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
57: !DEC$ ATTRIBUTES DLLEXPORT::SlepcInitializeNoArguments
58: #endif
59: subroutine SlepcInitializeNoArguments(ierr)
60: PetscErrorCode :: ierr
62: call SlepcInitializeF(PETSC_NULL_CHARACTER,PETSC_NULL_CHARACTER,PETSC_FALSE,ierr)
63: CHKERRQ(ierr)
64: end subroutine SlepcInitializeNoArguments
65: end module