Actual source code: slepcsysmod.F90
slepc-3.18.0 2022-10-01
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: end subroutine SlepcInitializeWithHelp
41: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
42: !DEC$ ATTRIBUTES DLLEXPORT::SlepcInitializeNoHelp
43: #endif
44: subroutine SlepcInitializeNoHelp(filename,ierr)
45: character(len=*) :: filename
46: PetscErrorCode :: ierr
48: if (filename .ne. PETSC_NULL_CHARACTER) then
49: filename = trim(filename)
50: endif
51: call SlepcInitializeF(filename,PETSC_NULL_CHARACTER,PETSC_TRUE,ierr)
52: end subroutine SlepcInitializeNoHelp
54: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
55: !DEC$ ATTRIBUTES DLLEXPORT::SlepcInitializeNoArguments
56: #endif
57: subroutine SlepcInitializeNoArguments(ierr)
58: PetscErrorCode :: ierr
60: call SlepcInitializeF(PETSC_NULL_CHARACTER,PETSC_NULL_CHARACTER,PETSC_FALSE,ierr)
61: end subroutine SlepcInitializeNoArguments
62: end module