Actual source code: petscmatmod.F

petsc-3.12.5 2020-03-29
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