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