xref: /petsc/src/sys/ftn-mod/petscsys.h90 (revision b2ccae6bdc8edea944f1c160ca3b2eb32c69ecb2)
1      Interface
2        Subroutine PetscPrintf(m, c, ierr)
3          use, intrinsic :: ISO_C_binding
4          MPI_Comm :: m
5          character(len=*) :: c
6          PetscErrorCode :: ierr
7        End Subroutine
8
9#if defined(PETSC_HAVE_FORTRAN_FREE_LINE_LENGTH_NONE)
10        subroutine PetscErrorf(ierr, line, file)
11          use, intrinsic :: ISO_C_binding
12          PetscErrorCode, intent(in) :: ierr
13          integer, intent(in) ::  line
14          character(*) file
15        end Subroutine PetscErrorf
16
17        subroutine PetscErrorMPI(ierr, line, file)
18          use, intrinsic :: ISO_C_binding
19          PetscErrorCode, intent(inout) :: ierr
20          integer, intent(in) ::  line
21          character(*) file
22        end Subroutine PetscErrorMPI
23#else
24        subroutine PetscErrorf(ierr)
25          use, intrinsic :: ISO_C_binding
26          PetscErrorCode, intent(in) :: ierr
27        end Subroutine PetscErrorf
28
29        subroutine PetscErrorMPI(ierr)
30          use, intrinsic :: ISO_C_binding
31          PetscErrorCode, intent(inout) :: ierr
32        end Subroutine PetscErrorMPI
33#endif
34
35        subroutine MPIU_abort(comm, ierr)
36          use, intrinsic :: ISO_C_binding
37          MPI_Comm, intent(in) ::  comm
38          PetscErrorCode, intent(in) ::  ierr
39        end subroutine
40
41        subroutine PetscViewerASCIIStdoutSetFileUnit(unit, z)
42          use, intrinsic :: ISO_C_binding
43          integer4 unit
44          PetscErrorCode, intent(out) :: z
45        end subroutine
46
47        subroutine PetscLogEventBegin(event, ierr)
48          use, intrinsic :: ISO_C_binding
49          PetscLogEvent, intent(in) :: event
50          PetscErrorCode, intent(out) :: ierr
51        end subroutine PetscLogEventBegin
52
53        subroutine PetscLogEventEnd(event, ierr)
54          use, intrinsic :: ISO_C_binding
55          PetscLogEvent, intent(in) :: event
56          PetscErrorCode, intent(out) :: ierr
57        end subroutine PetscLogEventEnd
58      end Interface
59
60      Interface
61        function PetscASend(c, d) bind(c, name='PetscASend') result(i)
62          use, intrinsic :: iso_c_binding
63          implicit none
64          integer(c_int), value :: c
65          integer(c_int), value :: d
66          integer(c_int)        :: i
67        end function PetscASend
68
69        function PetscARecv(c, d) bind(c, name='PetscARecv') result(i)
70          use, intrinsic :: iso_c_binding
71          implicit none
72          integer(c_int), value :: c
73          integer(c_int), value :: d
74          integer(c_int)        :: i
75        end function PetscARecv
76
77        function PetscAReduce() bind(c, name='PetscAReduce') result(i)
78          use, intrinsic :: iso_c_binding
79          implicit none
80          integer(c_int) :: i
81        end function PetscAReduce
82      end Interface
83
84      Interface
85        Subroutine PetscIntArray1dDestroy(a, ierr)
86          use, intrinsic :: ISO_C_binding
87          PetscInt, Pointer :: a(:)
88          PetscErrorCode    :: ierr
89        End Subroutine
90      End Interface
91
92      Interface PetscShmgetAllocateArrayScalar
93        Subroutine PetscShmgetAllocateArrayScalar(start, len, d1, ierr)
94          use, intrinsic :: ISO_C_binding
95          PetscInt :: start, len
96          PetscScalar, pointer :: d1(:)
97          PetscErrorCode ierr
98        End Subroutine
99      End Interface
100
101      Interface PetscShmgetDeallocateArrayScalar
102        Subroutine PetscShmgetDeallocateArrayScalar(d1, ierr)
103          use, intrinsic :: ISO_C_binding
104          PetscScalar, pointer :: d1(:)
105          PetscErrorCode ierr
106        End Subroutine
107      End Interface
108
109      Interface PetscShmgetAllocateArrayInt
110        Subroutine PetscShmgetAllocateArrayInt(start, len, d1, ierr)
111          use, intrinsic :: ISO_C_binding
112          PetscInt :: start, len
113          PetscInt, pointer :: d1(:)
114          PetscErrorCode ierr
115        End Subroutine
116      End Interface
117
118      Interface PetscShmgetDeallocateArrayInt
119        Subroutine PetscShmgetDeallocateArrayInt(d1, ierr)
120          use, intrinsic :: ISO_C_binding
121          PetscInt, pointer :: d1(:)
122          PetscErrorCode ierr
123        End Subroutine
124      End Interface
125