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