Actual source code: slepcsysmod.F90

slepc-3.21.1 2024-04-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 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