Actual source code: petscvecmod.F90

  1: module petscisdef
  2:   use, intrinsic :: ISO_C_binding
  3:   use petscsysdef
  4: #include <petsc/finclude/petscis.h>
  5: #include <../ftn/vec/petscis.h>
  6: #include <petsc/finclude/petscsf.h>
  7: #include <../ftn/vec/petscsf.h>
  8: #include <petsc/finclude/petscsection.h>
  9: #include <../ftn/vec/petscsection.h>

 11: end module

 13: !     Needed by Fortran stub petscsfgetgraph_()
 14: subroutine F90Array1dCreateSFNode(array, start, len, ptr)
 15:   use petscisdef
 16:   implicit none
 17:   PetscInt start, len
 18:   PetscSFNode, target :: array(start:start + len - 1)
 19:   PetscSFNode, pointer :: ptr(:)
 20:   ptr => array
 21: end subroutine
 22: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
 23: !DEC$ ATTRIBUTES DLLEXPORT:: F90Array1dCreateSFNode
 24: #endif

 26: subroutine F90Array1dDestroySFNode(ptr)
 27:   use petscisdef
 28:   implicit none
 29:   PetscSFNode, pointer :: ptr(:)
 30:   nullify (ptr)
 31: end subroutine
 32: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
 33: !DEC$ ATTRIBUTES DLLEXPORT:: F90Array1dDestroySFNode
 34: #endif

 36: module petscis
 37:   use petscisdef
 38:   use petscsys

 40:   interface PetscSFDestroyRemoteOffsets
 41:     subroutine PetscSFDestroyRemoteOffsets(ptr, ierr)
 42:       use petscisdef
 43:       implicit none
 44:       PetscInt, pointer :: ptr(:)
 45:       PetscErrorCode :: ierr
 46:     end subroutine PetscSFDestroyRemoteOffsets
 47:   end interface

 49: #include <../src/vec/ftn-mod/petscis.h90>
 50: #include <../ftn/vec/petscsf.h90>
 51: #include <../ftn/vec/petscsection.h90>
 52: #include <../ftn/vec/petscis.h90>

 54: contains

 56: #include <../ftn/vec/petscsf.hf90>
 57: #include <../ftn/vec/petscsection.hf90>
 58: #include <../ftn/vec/petscis.hf90>

 60: end module

 62: module petscvecdef
 63:   use petscisdef
 64: #include <petsc/finclude/petscvec.h>
 65: #include <../ftn/vec/petscvec.h>
 66: end module

 68: module petscvec
 69:   use petscis
 70:   use petscvecdef

 72: #include <../src/vec/ftn-mod/petscvec.h90>
 73: #include <../ftn/vec/petscvec.h90>

 75: contains

 77: #include <../ftn/vec/petscvec.hf90>

 79: end module

 81: module petscaodef
 82:   use petscsys
 83:   use petscvecdef
 84: #include <petsc/finclude/petscao.h>
 85: #include <../ftn/vec/petscao.h>
 86: end module

 88: module petscao
 89:   use petscsys
 90:   use petscaodef
 91: #include <../ftn/vec/petscao.h90>
 92: contains
 93: #include <../ftn/vec/petscao.hf90>
 94: end module

 96: module petscpfdef
 97:   use petscsys
 98:   use petscvecdef
 99: #include <petsc/finclude/petscpf.h>
100: #include <../ftn/vec/petscpf.h>
101: end module

103: module petscpf
104:   use petscsys
105:   use petscpfdef
106: #include <../ftn/vec/petscpf.h90>
107: contains
108: #include <../ftn/vec/petscpf.hf90>
109: end module