Actual source code: slepcsysmod.F90
slepc-3.21.1 2024-04-26
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/f90-mod/slepcsys.h>
14: end module
16: module slepcsys
17: use,intrinsic :: iso_c_binding
18: use slepcsysdef
19: use petscsys
20: use petscmat
21: #include <../src/sys/f90-mod/slepcsys.h90>
22: interface
23: #include <../src/sys/f90-mod/ftn-auto-interfaces/slepcsys.h90>
24: end interface
25: interface SlepcInitialize
26: module procedure SlepcInitializeWithHelp, SlepcInitializeNoHelp, SlepcInitializeNoArguments
27: end interface
28: contains
29: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
30: !DEC$ ATTRIBUTES DLLEXPORT::SlepcInitializeWithHelp
31: #endif
32: subroutine SlepcInitializeWithHelp(filename,help,ierr)
33: character(len=*) :: filename
34: character(len=*) :: help
35: PetscErrorCode :: ierr
37: if (filename .ne. PETSC_NULL_CHARACTER) then
38: filename = trim(filename)
39: endif
40: call SlepcInitializeF(filename,help,PETSC_TRUE,ierr)
41: CHKERRQ(ierr)
42: end subroutine SlepcInitializeWithHelp
44: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
45: !DEC$ ATTRIBUTES DLLEXPORT::SlepcInitializeNoHelp
46: #endif
47: subroutine SlepcInitializeNoHelp(filename,ierr)
48: character(len=*) :: filename
49: PetscErrorCode :: ierr
51: if (filename .ne. PETSC_NULL_CHARACTER) then
52: filename = trim(filename)
53: endif
54: call SlepcInitializeF(filename,PETSC_NULL_CHARACTER,PETSC_TRUE,ierr)
55: CHKERRQ(ierr)
56: end subroutine SlepcInitializeNoHelp
58: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
59: !DEC$ ATTRIBUTES DLLEXPORT::SlepcInitializeNoArguments
60: #endif
61: subroutine SlepcInitializeNoArguments(ierr)
62: PetscErrorCode :: ierr
64: call SlepcInitializeF(PETSC_NULL_CHARACTER,PETSC_NULL_CHARACTER,PETSC_FALSE,ierr)
65: CHKERRQ(ierr)
66: end subroutine SlepcInitializeNoArguments
67: end module