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