Actual source code: petscdmmod.F90


  2:         module petscdmdefdummy
  3:         use petscmatdef
  4: #include <../src/dm/f90-mod/petscdm.h>
  5:         end module petscdmdefdummy

  7:         module petscdmlabeldef
  8:         use petscmatdef
  9: #include <../src/dm/f90-mod/petscdmlabel.h>
 10:         end module petscdmlabeldef

 12:         module petscdmdef
 13:         use petscdmdefdummy
 14:         use petscdmlabeldef
 15:         interface operator(.ne.)
 16:           function dmnotequal(A,B)
 17:             import tDM
 18:             logical dmnotequal
 19:             type(tDM), intent(in) :: A,B
 20:           end function
 21:         end interface operator (.ne.)
 22:         interface operator(.eq.)
 23:           function dmequals(A,B)
 24:             import tDM
 25:             logical dmequals
 26:             type(tDM), intent(in) :: A,B
 27:           end function
 28:         end interface operator (.eq.)
 29:         end module

 31:         function dmnotequal(A,B)
 32:           use petscdmdefdummy, only: tDM
 33:           logical dmnotequal
 34:           type(tDM), intent(in) :: A,B
 35:           dmnotequal = (A%v .ne. B%v)
 36:         end function

 38:         function dmequals(A,B)
 39:           use petscdmdefdummy, only: tDM
 40:           logical dmequals
 41:           type(tDM), intent(in) :: A,B
 42:           dmequals = (A%v .eq. B%v)
 43:         end function

 45: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
 46: !DEC$ ATTRIBUTES DLLEXPORT::dmnotequal
 47: !DEC$ ATTRIBUTES DLLEXPORT::dmequals
 48: #endif
 49:         module petscdmpatchdef
 50:         use petscdmdef
 51:         end module

 53:         module petscdmforestdef
 54:         use petscdmdef
 55:         end module

 57:         module petscdmlabel
 58:         use petscdmlabeldef
 59:         use petscdmdef
 60: #include <../src/dm/f90-mod/petscdmlabel.h90>
 61:         interface
 62: #include <../src/dm/f90-mod/ftn-auto-interfaces/petscdmlabel.h90>
 63:         end interface
 64:         end module

 66:         module petscdm
 67:         use petscdmdef
 68:         use petscmat
 69: #include <../src/dm/f90-mod/petscdm.h90>
 70:         interface
 71: #include <../src/dm/f90-mod/ftn-auto-interfaces/petscdm.h90>
 72:         end interface
 73:         end module

 75:         module petscdmpatch
 76:         use petscdmpatchdef
 77: #include <../src/dm/f90-mod/petscdmpatch.h90>
 78:         interface
 79: #include <../src/dm/f90-mod/ftn-auto-interfaces/petscdmpatch.h90>
 80:         end interface
 81:         end module

 83:         module petscdmforest
 84:         use petscdmforestdef
 85: #include <../src/dm/f90-mod/petscdmforest.h90>
 86:         interface
 87: #include <../src/dm/f90-mod/ftn-auto-interfaces/petscdmforest.h90>
 88:         end interface
 89:         end module

 91:         module petscdt
 92:         use petscdmdef
 93: #include <../src/dm/f90-mod/petscdt.h90>
 94:         interface
 95: #include <../src/dm/f90-mod/ftn-auto-interfaces/petscdt.h90>
 96:         end interface
 97:         end module