Actual source code: slepcsysmod.F90

slepc-3.18.2 2023-01-26
Report Typos and Errors
  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