Actual source code: petscmatmod.F
petsc-3.11.4 2019-09-28
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