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