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