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