Actual source code: petscmatmod.F90
1: module petscmatdef
2: use, intrinsic :: ISO_C_binding
3: use petscvecdef
4: #include "petsc/finclude/petscmat.h"
5: #include "petsc/finclude/petscmatcoarsen.h"
6: #include "petsc/finclude/petscpartitioner.h"
7: #include "petsc/finclude/petscmathypre.h"
8: #include "petsc/finclude/petscmathtool.h"
9: #include "petsc/finclude/petscmatelemental.h"
10: #include <../ftn/mat/petscmat.h>
11: #include <../ftn/mat/petscmatcoarsen.h>
12: #include <../ftn/mat/petscpartitioner.h>
14: end module
16: ! ----------------------------------------------
18: module petscmat
19: use petscmatdef
20: use petscvec
22: #include <../src/mat/ftn-mod/petscmat.h90>
23: #include <../ftn/mat/petscmat.h90>
24: #include <../ftn/mat/petscmatcoarsen.h90>
25: #include <../ftn/mat/petscpartitioner.h90>
27: ! deprecated functions
29: interface MatDenseGetArrayF90
30: module procedure MatDenseGetArrayF901d, MatDenseGetArrayF902d
31: end interface
33: interface MatDenseRestoreArrayF90
34: module procedure MatDenseRestoreArrayF901d, MatDenseRestoreArrayF902d
35: end interface
37: interface MatDenseGetArrayReadF90
38: module procedure MatDenseGetArrayReadF901d, MatDenseGetArrayReadF902d
39: end interface
41: interface MatDenseRestoreArrayReadF90
42: module procedure MatDenseRestoreArrayWriteF901d, MatDenseRestoreArrayWriteF902d
43: end interface
45: interface MatDenseGetArrayWriteF90
46: module procedure MatDenseGetArrayWriteF901d, MatDenseGetArrayWriteF902d
47: end interface
49: interface MatDenseRestoreArrayWriteF90
50: module procedure MatDenseRestoreArrayWriteF901d, MatDenseRestoreArrayWriteF902d
51: end interface
53: contains
55: #include <../ftn/mat/petscmat.hf90>
56: #include <../ftn/mat/petscmatcoarsen.hf90>
57: #include <../ftn/mat/petscpartitioner.hf90>
59: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
60: !DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayF901d
61: #endif
62: Subroutine MatDenseGetArrayF901d(v, array, ierr)
63: PetscScalar, pointer :: array(:)
64: PetscErrorCode ierr
65: Mat v
66: call MatDenseGetArray(v, array, ierr)
67: End Subroutine
69: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
70: !DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayF901d
71: #endif
72: Subroutine MatDenseRestoreArrayF901d(v, array, ierr)
73: PetscScalar, pointer :: array(:)
74: PetscErrorCode ierr
75: Mat v
76: call MatDenseRestoreArray(v, array, ierr)
77: End Subroutine
79: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
80: !DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayReadF901d
81: #endif
82: Subroutine MatDenseGetArrayReadF901d(v, array, ierr)
83: PetscScalar, pointer :: array(:)
84: PetscErrorCode ierr
85: Mat v
86: call MatDenseGetArrayRead(v, array, ierr)
87: End Subroutine
89: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
90: !DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayReadF901d
91: #endif
92: Subroutine MatDenseRestoreArrayReadF901d(v, array, ierr)
93: PetscScalar, pointer :: array(:)
94: PetscErrorCode ierr
95: Mat v
96: call MatDenseRestoreArrayRead(v, array, ierr)
97: End Subroutine
99: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
100: !DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayWriteF901d
101: #endif
102: Subroutine MatDenseGetArrayWriteF901d(v, array, ierr)
103: PetscScalar, pointer :: array(:)
104: PetscErrorCode ierr
105: Mat v
106: call MatDenseGetArrayWrite(v, array, ierr)
107: End Subroutine
109: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
110: !DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayWriteF901d
111: #endif
112: Subroutine MatDenseRestoreArrayWriteF901d(v, array, ierr)
113: PetscScalar, pointer :: array(:)
114: PetscErrorCode ierr
115: Mat v
116: call MatDenseRestoreArrayWrite(v, array, ierr)
117: End Subroutine
119: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
120: !DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayF902d
121: #endif
122: Subroutine MatDenseGetArrayF902d(v, array, ierr)
123: PetscScalar, pointer :: array(:, :)
124: PetscErrorCode ierr
125: Mat v
126: call MatDenseGetArray(v, array, ierr)
127: End Subroutine
129: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
130: !DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayF902d
131: #endif
132: Subroutine MatDenseRestoreArrayF902d(v, array, ierr)
133: PetscScalar, pointer :: array(:, :)
134: PetscErrorCode ierr
135: Mat v
136: call MatDenseRestoreArray(v, array, ierr)
137: End Subroutine
139: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
140: !DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayReadF902d
141: #endif
142: Subroutine MatDenseGetArrayReadF902d(v, array, ierr)
143: PetscScalar, pointer :: array(:, :)
144: PetscErrorCode ierr
145: Mat v
146: call MatDenseGetArrayRead(v, array, ierr)
147: End Subroutine
149: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
150: !DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayReadF90
151: #endif
152: Subroutine MatDenseRestoreArrayReadF902d(v, array, ierr)
153: PetscScalar, pointer :: array(:, :)
154: PetscErrorCode ierr
155: Mat v
156: call MatDenseRestoreArrayRead(v, array, ierr)
157: End Subroutine
159: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
160: !DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayWriteF90
161: #endif
162: Subroutine MatDenseGetArrayWriteF902d(v, array, ierr)
163: PetscScalar, pointer :: array(:, :)
164: PetscErrorCode ierr
165: Mat v
166: call MatDenseGetArrayWrite(v, array, ierr)
167: End Subroutine
169: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
170: !DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayWriteF90
171: #endif
172: Subroutine MatDenseRestoreArrayWriteF902d(v, array, ierr)
173: PetscScalar, pointer :: array(:, :)
174: PetscErrorCode ierr
175: Mat v
176: call MatDenseRestoreArrayWrite(v, array, ierr)
177: End Subroutine
179: end module