Actual source code: petscmatmod.F90
1: module petscmatdefdummy
2: use petscvecdef
3: #include <../src/mat/f90-mod/petscmat.h>
4: end module petscmatdefdummy
6: module petscmatdef
7: use petscmatdefdummy
8: interface operator(.ne.)
9: function matnotequal(A,B)
10: import tMat
11: logical matnotequal
12: type(tMat), intent(in) :: A,B
13: end function
14: function matfdcoloringnotequal(A,B)
15: import tMatFDColoring
16: logical matfdcoloringnotequal
17: type(tMatFDColoring), intent(in) :: A,B
18: end function
19: function matnullspacenotequal(A,B)
20: import tMatNullSpace
21: logical matnullspacenotequal
22: type(tMatNullSpace), intent(in) :: A,B
23: end function
24: end interface operator (.ne.)
25: interface operator(.eq.)
26: function matequals(A,B)
27: import tMat
28: logical matequals
29: type(tMat), intent(in) :: A,B
30: end function
31: function matfdcoloringequals(A,B)
32: import tMatFDColoring
33: logical matfdcoloringequals
34: type(tMatFDColoring), intent(in) :: A,B
35: end function
36: function matnullspaceequals(A,B)
37: import tMatNullSpace
38: logical matnullspaceequals
39: type(tMatNullSpace), intent(in) :: A,B
40: end function
41: end interface operator (.eq.)
42: end module
44: function matnotequal(A,B)
45: use petscmatdefdummy, only: tMat
46: implicit none
47: logical matnotequal
48: type(tMat), intent(in) :: A,B
49: matnotequal = (A%v .ne. B%v)
50: end function
52: function matequals(A,B)
53: use petscmatdefdummy, only: tMat
54: implicit none
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, only: tMatFDColoring
62: implicit none
63: logical matfdcoloringnotequal
64: type(tMatFDColoring), intent(in) :: A,B
65: matfdcoloringnotequal = (A%v .ne. B%v)
66: end function
68: function matfdcoloringequals(A,B)
69: use petscmatdefdummy, only: tMatFDColoring
70: implicit none
71: logical matfdcoloringequals
72: type(tMatFDColoring), intent(in) :: A,B
73: matfdcoloringequals = (A%v .eq. B%v)
74: end function
76: function matnullspacenotequal(A,B)
77: use petscmatdefdummy, only: tMatNullSpace
78: implicit none
79: logical matnullspacenotequal
80: type(tMatNullSpace), intent(in) :: A,B
81: matnullspacenotequal = (A%v .ne. B%v)
82: end function
84: function matnullspaceequals(A,B)
85: use petscmatdefdummy, only: tMatNullSpace
86: implicit none
87: logical matnullspaceequals
88: type(tMatNullSpace), intent(in) :: A,B
89: matnullspaceequals = (A%v .eq. B%v)
90: end function
92: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
93: !DEC$ ATTRIBUTES DLLEXPORT::matnotequal
94: !DEC$ ATTRIBUTES DLLEXPORT::matequals
95: !DEC$ ATTRIBUTES DLLEXPORT::matfdcoloringnotequal
96: !DEC$ ATTRIBUTES DLLEXPORT::matfdcoloringequals
97: !DEC$ ATTRIBUTES DLLEXPORT::matnullspacenotequal
98: !DEC$ ATTRIBUTES DLLEXPORT::matnullspaceequals
99: #endif
100: module petscmat
101: use petscmatdef
102: use petscvec
103: #include <../src/mat/f90-mod/petscmat.h90>
104: interface
105: #include <../src/mat/f90-mod/ftn-auto-interfaces/petscmat.h90>
106: end interface
107: end module