Actual source code: slepcsysmod.F90
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 petscsysdef
12: use petscmatdef
13: #include <../src/sys/ftn-mod/slepcsys.h>
14: end module slepcsysdef
16: module slepcsys
17: use, intrinsic :: iso_c_binding
18: use slepcsysdef
19: use petscsys
20: use petscmat
21: #include <../ftn/sys/slepcall.h90>
22: interface SlepcInitialize
23: module procedure SlepcInitializeWithHelp, SlepcInitializeNoHelp, SlepcInitializeNoArguments
24: end interface
25: contains
26: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
27: !DEC$ ATTRIBUTES DLLEXPORT::SlepcInitializeWithHelp
28: #endif
29: subroutine SlepcInitializeWithHelp(filename, help, ierr)
30: character(len=*), intent(in) :: filename
31: character(len=*), intent(in) :: help
32: PetscErrorCode :: ierr
34: if (filename /= PETSC_NULL_CHARACTER) then
35: call SlepcInitializeF(trim(filename), help, ierr)
36: CHKERRQ(ierr)
37: else
38: call SlepcInitializeF(filename, help, ierr)
39: CHKERRQ(ierr)
40: end if
41: end subroutine SlepcInitializeWithHelp
43: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
44: !DEC$ ATTRIBUTES DLLEXPORT::SlepcInitializeNoHelp
45: #endif
46: subroutine SlepcInitializeNoHelp(filename, ierr)
47: character(len=*), intent(in) :: filename
48: PetscErrorCode :: ierr
50: if (filename /= PETSC_NULL_CHARACTER) then
51: call SlepcInitializeF(trim(filename), PETSC_NULL_CHARACTER, ierr)
52: CHKERRQ(ierr)
53: else
54: call SlepcInitializeF(filename, PETSC_NULL_CHARACTER, ierr)
55: CHKERRQ(ierr)
56: end if
57: end subroutine SlepcInitializeNoHelp
59: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
60: !DEC$ ATTRIBUTES DLLEXPORT::SlepcInitializeNoArguments
61: #endif
62: subroutine SlepcInitializeNoArguments(ierr)
63: PetscErrorCode :: ierr
65: call SlepcInitializeF(PETSC_NULL_CHARACTER, PETSC_NULL_CHARACTER, ierr)
66: CHKERRQ(ierr)
67: end subroutine SlepcInitializeNoArguments
69: #include <../ftn/sys/slepcall.hf90>
70: end module slepcsys