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