1*02c639afSMartin Diehl interface 2*02c639afSMartin Diehl subroutine PetscPrintf(m, c, ierr) 3fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 46dd63270SBarry Smith MPI_Comm :: m 56dd63270SBarry Smith character(len=*) :: c 66dd63270SBarry Smith PetscErrorCode :: ierr 7*02c639afSMartin Diehl end subroutine 86dd63270SBarry Smith 96dd63270SBarry Smith#if defined(PETSC_HAVE_FORTRAN_FREE_LINE_LENGTH_NONE) 106dd63270SBarry Smith subroutine PetscErrorf(ierr, line, file) 11fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 126dd63270SBarry Smith PetscErrorCode, intent(in) :: ierr 136dd63270SBarry Smith integer, intent(in) :: line 146dd63270SBarry Smith character(*) file 15*02c639afSMartin Diehl end subroutine PetscErrorf 166dd63270SBarry Smith 176dd63270SBarry Smith subroutine PetscErrorMPI(ierr, line, file) 18fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 196dd63270SBarry Smith PetscErrorCode, intent(inout) :: ierr 206dd63270SBarry Smith integer, intent(in) :: line 216dd63270SBarry Smith character(*) file 22*02c639afSMartin Diehl end subroutine PetscErrorMPI 236dd63270SBarry Smith#else 246dd63270SBarry Smith subroutine PetscErrorf(ierr) 25fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 266dd63270SBarry Smith PetscErrorCode, intent(in) :: ierr 27*02c639afSMartin Diehl end subroutine PetscErrorf 286dd63270SBarry Smith 296dd63270SBarry Smith subroutine PetscErrorMPI(ierr) 30fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 316dd63270SBarry Smith PetscErrorCode, intent(inout) :: ierr 32*02c639afSMartin Diehl end subroutine PetscErrorMPI 336dd63270SBarry Smith#endif 346dd63270SBarry Smith 356dd63270SBarry Smith subroutine MPIU_abort(comm, ierr) 36fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 376dd63270SBarry Smith MPI_Comm, intent(in) :: comm 386dd63270SBarry Smith PetscErrorCode, intent(in) :: ierr 396dd63270SBarry Smith end subroutine 406dd63270SBarry Smith 416dd63270SBarry Smith subroutine PetscViewerASCIIStdoutSetFileUnit(unit, z) 42fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 436dd63270SBarry Smith integer4 unit 446dd63270SBarry Smith PetscErrorCode, intent(out) :: z 456dd63270SBarry Smith end subroutine 466dd63270SBarry Smith 476dd63270SBarry Smith subroutine PetscLogEventBegin(event, ierr) 48fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 496dd63270SBarry Smith PetscLogEvent, intent(in) :: event 506dd63270SBarry Smith PetscErrorCode, intent(out) :: ierr 516dd63270SBarry Smith end subroutine PetscLogEventBegin 526dd63270SBarry Smith 536dd63270SBarry Smith subroutine PetscLogEventEnd(event, ierr) 54fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 556dd63270SBarry Smith PetscLogEvent, intent(in) :: event 566dd63270SBarry Smith PetscErrorCode, intent(out) :: ierr 576dd63270SBarry Smith end subroutine PetscLogEventEnd 58*02c639afSMartin Diehl end interface 596dd63270SBarry Smith 60*02c639afSMartin Diehl interface 616dd63270SBarry Smith function PetscASend(c, d) bind(c, name='PetscASend') result(i) 626dd63270SBarry Smith use, intrinsic :: iso_c_binding 636dd63270SBarry Smith implicit none 646dd63270SBarry Smith integer(c_int), value :: c 656dd63270SBarry Smith integer(c_int), value :: d 666dd63270SBarry Smith integer(c_int) :: i 676dd63270SBarry Smith end function PetscASend 686dd63270SBarry Smith 696dd63270SBarry Smith function PetscARecv(c, d) bind(c, name='PetscARecv') result(i) 706dd63270SBarry Smith use, intrinsic :: iso_c_binding 716dd63270SBarry Smith implicit none 726dd63270SBarry Smith integer(c_int), value :: c 736dd63270SBarry Smith integer(c_int), value :: d 746dd63270SBarry Smith integer(c_int) :: i 756dd63270SBarry Smith end function PetscARecv 766dd63270SBarry Smith 776dd63270SBarry Smith function PetscAReduce() bind(c, name='PetscAReduce') result(i) 786dd63270SBarry Smith use, intrinsic :: iso_c_binding 796dd63270SBarry Smith implicit none 806dd63270SBarry Smith integer(c_int) :: i 816dd63270SBarry Smith end function PetscAReduce 82*02c639afSMartin Diehl end interface 836dd63270SBarry Smith 84*02c639afSMartin Diehl interface 85*02c639afSMartin Diehl subroutine PetscIntArray1dDestroy(a, ierr) 86fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 87*02c639afSMartin Diehl PetscInt, pointer :: a(:) 886dd63270SBarry Smith PetscErrorCode :: ierr 89*02c639afSMartin Diehl end subroutine 90*02c639afSMartin Diehl end interface 916dd63270SBarry Smith 92*02c639afSMartin Diehl interface PetscShmgetAllocateArrayScalar 93*02c639afSMartin Diehl subroutine PetscShmgetAllocateArrayScalar(start, len, d1, ierr) 94fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 956dd63270SBarry Smith PetscInt :: start, len 966dd63270SBarry Smith PetscScalar, pointer :: d1(:) 976dd63270SBarry Smith PetscErrorCode ierr 98*02c639afSMartin Diehl end subroutine 99*02c639afSMartin Diehl end interface 1006dd63270SBarry Smith 101*02c639afSMartin Diehl interface PetscShmgetDeallocateArrayScalar 102*02c639afSMartin Diehl subroutine PetscShmgetDeallocateArrayScalar(d1, ierr) 103fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 1046dd63270SBarry Smith PetscScalar, pointer :: d1(:) 1056dd63270SBarry Smith PetscErrorCode ierr 106*02c639afSMartin Diehl end subroutine 107*02c639afSMartin Diehl end interface 1086dd63270SBarry Smith 109*02c639afSMartin Diehl interface PetscShmgetAllocateArrayInt 110*02c639afSMartin Diehl subroutine PetscShmgetAllocateArrayInt(start, len, d1, ierr) 111fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 1126dd63270SBarry Smith PetscInt :: start, len 1136dd63270SBarry Smith PetscInt, pointer :: d1(:) 1146dd63270SBarry Smith PetscErrorCode ierr 115*02c639afSMartin Diehl end subroutine 116*02c639afSMartin Diehl end interface 1176dd63270SBarry Smith 118*02c639afSMartin Diehl interface PetscShmgetDeallocateArrayInt 119*02c639afSMartin Diehl subroutine PetscShmgetDeallocateArrayInt(d1, ierr) 120fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 1216dd63270SBarry Smith PetscInt, pointer :: d1(:) 1226dd63270SBarry Smith PetscErrorCode ierr 123*02c639afSMartin Diehl end subroutine 124*02c639afSMartin Diehl end interface 125