xref: /petsc/src/sys/ftn-mod/petscsys.h90 (revision b06eb4cd3db6f436e3907d9ad23211c2914d8916)
102c639afSMartin Diehl      interface
202c639afSMartin Diehl        subroutine PetscPrintf(m, c, ierr)
3fe66ebccSMartin Diehl          use, intrinsic :: ISO_C_binding
4*b06eb4cdSBarry Smith          use petscmpi
5*b06eb4cdSBarry Smith          MPIU_Comm :: m
66dd63270SBarry Smith          character(len=*) :: c
76dd63270SBarry Smith          PetscErrorCode :: ierr
802c639afSMartin Diehl        end subroutine
96dd63270SBarry Smith
106dd63270SBarry Smith#if defined(PETSC_HAVE_FORTRAN_FREE_LINE_LENGTH_NONE)
116dd63270SBarry Smith        subroutine PetscErrorf(ierr, line, file)
12fe66ebccSMartin Diehl          use, intrinsic :: ISO_C_binding
136dd63270SBarry Smith          PetscErrorCode, intent(in) :: ierr
146dd63270SBarry Smith          integer, intent(in) ::  line
156dd63270SBarry Smith          character(*) file
1602c639afSMartin Diehl        end subroutine PetscErrorf
176dd63270SBarry Smith
186dd63270SBarry Smith        subroutine PetscErrorMPI(ierr, line, file)
19fe66ebccSMartin Diehl          use, intrinsic :: ISO_C_binding
206dd63270SBarry Smith          PetscErrorCode, intent(inout) :: ierr
216dd63270SBarry Smith          integer, intent(in) ::  line
226dd63270SBarry Smith          character(*) file
2302c639afSMartin Diehl        end subroutine PetscErrorMPI
246dd63270SBarry Smith#else
256dd63270SBarry Smith        subroutine PetscErrorf(ierr)
26fe66ebccSMartin Diehl          use, intrinsic :: ISO_C_binding
276dd63270SBarry Smith          PetscErrorCode, intent(in) :: ierr
2802c639afSMartin Diehl        end subroutine PetscErrorf
296dd63270SBarry Smith
306dd63270SBarry Smith        subroutine PetscErrorMPI(ierr)
31fe66ebccSMartin Diehl          use, intrinsic :: ISO_C_binding
326dd63270SBarry Smith          PetscErrorCode, intent(inout) :: ierr
3302c639afSMartin Diehl        end subroutine PetscErrorMPI
346dd63270SBarry Smith#endif
356dd63270SBarry Smith
366dd63270SBarry Smith        subroutine MPIU_abort(comm, ierr)
37fe66ebccSMartin Diehl          use, intrinsic :: ISO_C_binding
38*b06eb4cdSBarry Smith          use petscmpi
39*b06eb4cdSBarry Smith          MPIU_Comm, intent(in) ::  comm
406dd63270SBarry Smith          PetscErrorCode, intent(in) ::  ierr
416dd63270SBarry Smith        end subroutine
426dd63270SBarry Smith
436dd63270SBarry Smith        subroutine PetscViewerASCIIStdoutSetFileUnit(unit, z)
44fe66ebccSMartin Diehl          use, intrinsic :: ISO_C_binding
456dd63270SBarry Smith          integer4 unit
466dd63270SBarry Smith          PetscErrorCode, intent(out) :: z
476dd63270SBarry Smith        end subroutine
486dd63270SBarry Smith
496dd63270SBarry Smith        subroutine PetscLogEventBegin(event, ierr)
50fe66ebccSMartin Diehl          use, intrinsic :: ISO_C_binding
516dd63270SBarry Smith          PetscLogEvent, intent(in) :: event
526dd63270SBarry Smith          PetscErrorCode, intent(out) :: ierr
536dd63270SBarry Smith        end subroutine PetscLogEventBegin
546dd63270SBarry Smith
556dd63270SBarry Smith        subroutine PetscLogEventEnd(event, ierr)
56fe66ebccSMartin Diehl          use, intrinsic :: ISO_C_binding
576dd63270SBarry Smith          PetscLogEvent, intent(in) :: event
586dd63270SBarry Smith          PetscErrorCode, intent(out) :: ierr
596dd63270SBarry Smith        end subroutine PetscLogEventEnd
6002c639afSMartin Diehl      end interface
616dd63270SBarry Smith
6202c639afSMartin Diehl      interface
6302c639afSMartin Diehl        subroutine PetscIntArray1dDestroy(a, ierr)
64fe66ebccSMartin Diehl          use, intrinsic :: ISO_C_binding
6502c639afSMartin Diehl          PetscInt, pointer :: a(:)
666dd63270SBarry Smith          PetscErrorCode    :: ierr
6702c639afSMartin Diehl        end subroutine
6802c639afSMartin Diehl      end interface
696dd63270SBarry Smith
7002c639afSMartin Diehl      interface PetscShmgetAllocateArrayScalar
7102c639afSMartin Diehl        subroutine PetscShmgetAllocateArrayScalar(start, len, d1, ierr)
72fe66ebccSMartin Diehl          use, intrinsic :: ISO_C_binding
736dd63270SBarry Smith          PetscInt :: start, len
746dd63270SBarry Smith          PetscScalar, pointer :: d1(:)
756dd63270SBarry Smith          PetscErrorCode ierr
7602c639afSMartin Diehl        end subroutine
7702c639afSMartin Diehl      end interface
786dd63270SBarry Smith
7902c639afSMartin Diehl      interface PetscShmgetDeallocateArrayScalar
8002c639afSMartin Diehl        subroutine PetscShmgetDeallocateArrayScalar(d1, ierr)
81fe66ebccSMartin Diehl          use, intrinsic :: ISO_C_binding
826dd63270SBarry Smith          PetscScalar, pointer :: d1(:)
836dd63270SBarry Smith          PetscErrorCode ierr
8402c639afSMartin Diehl        end subroutine
8502c639afSMartin Diehl      end interface
866dd63270SBarry Smith
8702c639afSMartin Diehl      interface PetscShmgetAllocateArrayInt
8802c639afSMartin Diehl        subroutine PetscShmgetAllocateArrayInt(start, len, d1, ierr)
89fe66ebccSMartin Diehl          use, intrinsic :: ISO_C_binding
906dd63270SBarry Smith          PetscInt :: start, len
916dd63270SBarry Smith          PetscInt, pointer :: d1(:)
926dd63270SBarry Smith          PetscErrorCode ierr
9302c639afSMartin Diehl        end subroutine
9402c639afSMartin Diehl      end interface
956dd63270SBarry Smith
9602c639afSMartin Diehl      interface PetscShmgetDeallocateArrayInt
9702c639afSMartin Diehl        subroutine PetscShmgetDeallocateArrayInt(d1, ierr)
98fe66ebccSMartin Diehl          use, intrinsic :: ISO_C_binding
996dd63270SBarry Smith          PetscInt, pointer :: d1(:)
1006dd63270SBarry Smith          PetscErrorCode ierr
10102c639afSMartin Diehl        end subroutine
10202c639afSMartin Diehl      end interface
103