xref: /petsc/src/mat/ftn-mod/petscmat.h90 (revision d47c0497e3b52bb8681c9d2e1026ce8506d72f69) !
1interface
2  subroutine MatFDColoringRestorePerturbedColumns(coloring, n, cols, ierr)
3    use, intrinsic :: ISO_C_binding
4    import tMatFDColoring
5    PetscInt, pointer :: cols(:)
6    PetscInt n
7    PetscErrorCode, intent(out) :: ierr
8    MatFDColoring coloring
9  end subroutine
10
11  subroutine MatNullSpaceRestoreVecs(sp, has_const, n, vecs, ierr)
12    use, intrinsic :: ISO_C_binding
13    import tMatNullSpace, tVec
14    MatNullSpace :: sp
15    PetscBool, intent(out) :: has_const
16    PetscInt, intent(out) :: n
17    Vec, pointer :: vecs(:)
18    PetscErrorCode, intent(out) :: ierr
19  end subroutine
20end interface
21
22#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
23!DEC$ ATTRIBUTES DLLEXPORT::MatFDColoringRestorePerturbedColumns
24!DEC$ ATTRIBUTES DLLEXPORT::MatNullSpaceRestoreVecs
25#endif
26
27interface MatDenseGetArray
28  subroutine MatDenseGetArray1d(A, array, ierr)
29    use, intrinsic :: ISO_C_binding
30    import tMat
31    PetscScalar, pointer :: array(:)
32    PetscErrorCode, intent(out) :: ierr
33    Mat A
34  end subroutine
35  subroutine MatDenseGetArray2d(A, array, ierr)
36    use, intrinsic :: ISO_C_binding
37    import tMat
38    PetscScalar, pointer :: array(:, :)
39    PetscErrorCode, intent(out) :: ierr
40    Mat A
41  end subroutine
42end interface MatDenseGetArray
43
44interface MatDenseRestoreArray
45  subroutine MatDenseRestoreArray1d(A, array, ierr)
46    use, intrinsic :: ISO_C_binding
47    import tMat
48    PetscScalar, pointer :: array(:)
49    PetscErrorCode, intent(out) :: ierr
50    Mat A
51  end subroutine
52  subroutine MatDenseRestoreArray2d(A, array, ierr)
53    use, intrinsic :: ISO_C_binding
54    import tMat
55    PetscScalar, pointer :: array(:, :)
56    PetscErrorCode, intent(out) :: ierr
57    Mat A
58  end subroutine
59end interface MatDenseRestoreArray
60
61interface MatDenseGetArrayRead
62  subroutine MatDenseGetArrayRead1d(A, array, ierr)
63    use, intrinsic :: ISO_C_binding
64    import tMat
65    PetscScalar, pointer :: array(:)
66    PetscErrorCode, intent(out) :: ierr
67    Mat A
68  end subroutine
69  subroutine MatDenseGetArrayRead2d(A, array, ierr)
70    use, intrinsic :: ISO_C_binding
71    import tMat
72    PetscScalar, pointer :: array(:, :)
73    PetscErrorCode, intent(out) :: ierr
74    Mat A
75  end subroutine
76end interface MatDenseGetArrayRead
77
78interface MatDenseRestoreArrayRead
79  subroutine MatDenseRestoreArrayRead1d(A, array, ierr)
80    use, intrinsic :: ISO_C_binding
81    import tMat
82    PetscScalar, pointer :: array(:)
83    PetscErrorCode, intent(out) :: ierr
84    Mat A
85  end subroutine
86  subroutine MatDenseRestoreArrayRead2d(A, array, ierr)
87    use, intrinsic :: ISO_C_binding
88    import tMat
89    PetscScalar, pointer :: array(:, :)
90    PetscErrorCode, intent(out) :: ierr
91    Mat A
92  end subroutine
93end interface MatDenseRestoreArrayRead
94
95interface MatDenseGetArrayWrite
96  subroutine MatDenseGetArrayWrite1d(A, array, ierr)
97    use, intrinsic :: ISO_C_binding
98    import tMat
99    PetscScalar, pointer :: array(:)
100    PetscErrorCode, intent(out) :: ierr
101    Mat A
102  end subroutine
103  subroutine MatDenseGetArrayWrite2d(A, array, ierr)
104    use, intrinsic :: ISO_C_binding
105    import tMat
106    PetscScalar, pointer :: array(:, :)
107    PetscErrorCode, intent(out) :: ierr
108    Mat A
109  end subroutine
110end interface MatDenseGetArrayWrite
111
112interface MatDenseRestoreArrayWrite
113  subroutine MatDenseRestoreArrayWrite1d(A, array, ierr)
114    use, intrinsic :: ISO_C_binding
115    import tMat
116    PetscScalar, pointer :: array(:)
117    PetscErrorCode, intent(out) :: ierr
118    Mat A
119  end subroutine
120  subroutine MatDenseRestoreArrayWrite2d(A, array, ierr)
121    use, intrinsic :: ISO_C_binding
122    import tMat
123    PetscScalar, pointer :: array(:, :)
124    PetscErrorCode, intent(out) :: ierr
125    Mat A
126  end subroutine
127end interface MatDenseRestoreArrayWrite
128