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