Actual source code: petscvecmod.F90

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

 10:         end module

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

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

 35: !     ----------------------------------------------

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

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

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

 55:         contains

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

 61:       end module

 63: !     ----------------------------------------------

 65:         module petscvecdef
 66:         use petscisdef
 67: #include <petsc/finclude/petscvec.h>
 68: #include <../ftn/vec/petscvec.h>
 69:         end module

 71: !     ----------------------------------------------

 73:         module petscvec
 74:         use petscis
 75:         use petscvecdef

 77: #include <../src/vec/ftn-mod/petscvec.h90>
 78: #include <../ftn/vec/petscvec.h90>

 80:         contains

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

 84:       end module

 86: !     ----------------------------------------------

 88:         module  petscaodef
 89:         use petscsys
 90:         use petscvecdef
 91: #include <petsc/finclude/petscao.h>
 92: #include <../ftn/vec/petscao.h>
 93:         end module

 95: !     ----------------------------------------------

 97:         module petscao
 98:         use petscsys
 99:         use petscaodef
100: #include <../ftn/vec/petscao.h90>
101:         contains
102: #include <../ftn/vec/petscao.hf90>
103:       end module

105: !     ----------------------------------------------

107:         module  petscpfdef
108:         use petscsys
109:         use petscvecdef
110: #include <petsc/finclude/petscpf.h>
111: #include <../ftn/vec/petscpf.h>
112:         end module

114: !     ----------------------------------------------

116:         module petscpf
117:         use petscsys
118:         use petscpfdef
119: #include <../ftn/vec/petscpf.h90>
120:         contains
121: #include <../ftn/vec/petscpf.hf90>
122:       end module