Date: 2025-03-28T21:10:43+00:00

Actual source code: petscdmmod.F90

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

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

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

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

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

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

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

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

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

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

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

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