xref: /petsc/src/sys/ftn-mod/petscsys.h90 (revision 605a06ccce2b6060581a2b5350eea15cf005ca7e)
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