Actual source code: petscmatmod.F
petsc-3.10.5 2019-03-28
Report Typos and Errors

      1: #define PETSC_USE_FORTRAN_MODULES

      3:         module petscmatdefdummy
      4:         use petscvecdef
      5: #include <../src/mat/f90-mod/petscmat.h>
      6:         end module

      8:         module petscmatdef
      9:         use petscmatdefdummy
     10:         interface operator(.ne.)
     11:           function matnotequal(A,B)
     12:             use petscmatdefdummy
     13:             logical matnotequal
     14:             type(tMat), intent(in) :: A,B
     15:           end function
     16:           function matfdcoloringnotequal(A,B)
     17:             use petscmatdefdummy
     18:             logical matfdcoloringnotequal
     19:             type(tMatFDColoring), intent(in) :: A,B
     20:           end function
     21:           function matnullspacenotequal(A,B)
     22:             use petscmatdefdummy
     23:             logical matnullspacenotequal
     24:             type(tMatNullSpace), intent(in) :: A,B
     25:             end function
     26:       end interface operator (.ne.)
     27:         interface operator(.eq.)
     28:           function matequals(A,B)
     29:             use petscmatdefdummy
     30:             logical matequals
     31:             type(tMat), intent(in) :: A,B
     32:           end function
     33:           function matfdcoloringequals(A,B)
     34:             use petscmatdefdummy
     35:             logical matfdcoloringequals
     36:             type(tMatFDColoring), intent(in) :: A,B
     37:           end function
     38:            function matnullspaceequals(A,B)
     39:             use petscmatdefdummy
     40:             logical matnullspaceequals
     41:             type(tMatNullSpace), intent(in) :: A,B
     42:             end function
     43:           end interface operator (.eq.)
     44:         end module

     46:         function matnotequal(A,B)
     47:           use petscmatdefdummy
     48:           logical matnotequal
     49:           type(tMat), intent(in) :: A,B
     50:           matnotequal = (A%v .ne. B%v)
     51:         end function

     53:        function matequals(A,B)
     54:           use petscmatdefdummy
     55:           logical matequals
     56:           type(tMat), intent(in) :: A,B
     57:           matequals = (A%v .eq. B%v)
     58:         end function

     60:         function matfdcoloringnotequal(A,B)
     61:           use petscmatdefdummy
     62:           logical matfdcoloringnotequal
     63:           type(tMatFDColoring), intent(in) :: A,B
     64:           matfdcoloringnotequal = (A%v .ne. B%v)
     65:         end function

     67:         function matfdcoloringequals(A,B)
     68:           use petscmatdefdummy
     69:           logical matfdcoloringequals
     70:           type(tMatFDColoring), intent(in) :: A,B
     71:           matfdcoloringequals = (A%v .eq. B%v)
     72:         end function

     74:         function matnullspacenotequal(A,B)
     75:           use petscmatdefdummy
     76:           logical matnullspacenotequal
     77:           type(tMatNullSpace), intent(in) :: A,B
     78:           matnullspacenotequal = (A%v .ne. B%v)
     79:         end function

     81:         function matnullspaceequals(A,B)
     82:           use petscmatdefdummy
     83:           logical matnullspaceequals
     84:           type(tMatNullSpace), intent(in) :: A,B
     85:           matnullspaceequals = (A%v .eq. B%v)
     86:         end function

     88: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
     89: !DEC$ ATTRIBUTES DLLEXPORT::matnotequal
     90: !DEC$ ATTRIBUTES DLLEXPORT::matequals
     91: !DEC$ ATTRIBUTES DLLEXPORT::matfdcoloringnotequal
     92: !DEC$ ATTRIBUTES DLLEXPORT::matfdcoloringequals
     93: !DEC$ ATTRIBUTES DLLEXPORT::matnullspacenotequal
     94: !DEC$ ATTRIBUTES DLLEXPORT::matnullspaceequals
     95: #endif
     96:         module petscmat
     97:         use petscmatdef
     98:         use petscvec
     99: #include <../src/mat/f90-mod/petscmat.h90>
    100:         interface
    101: #include <../src/mat/f90-mod/ftn-auto-interfaces/petscmat.h90>
    102:         end interface
    103:         end module