102c639afSMartin Diehlinterface 202c639afSMartin Diehl subroutine PetscPrintf(m, c, ierr) 3fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 4b06eb4cdSBarry Smith use petscmpi 5b06eb4cdSBarry Smith MPIU_Comm :: m 66dd63270SBarry Smith character(len=*) :: c 76dd63270SBarry Smith PetscErrorCode :: ierr 802c639afSMartin Diehl end subroutine 96dd63270SBarry Smith 106dd63270SBarry Smith#if defined(PETSC_HAVE_FORTRAN_FREE_LINE_LENGTH_NONE) 116dd63270SBarry Smith subroutine PetscErrorf(ierr, line, file) 12fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 136dd63270SBarry Smith PetscErrorCode, intent(in) :: ierr 146dd63270SBarry Smith integer, intent(in) :: line 156dd63270SBarry Smith character(*) file 16*3d1372b2SMartin Diehl end subroutine 176dd63270SBarry Smith 186dd63270SBarry Smith subroutine PetscErrorMPI(ierr, line, file) 19fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 206dd63270SBarry Smith PetscErrorCode, intent(inout) :: ierr 216dd63270SBarry Smith integer, intent(in) :: line 226dd63270SBarry Smith character(*) file 23*3d1372b2SMartin Diehl end subroutine 246dd63270SBarry Smith#else 256dd63270SBarry Smith subroutine PetscErrorf(ierr) 26fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 276dd63270SBarry Smith PetscErrorCode, intent(in) :: ierr 28*3d1372b2SMartin Diehl end subroutine 296dd63270SBarry Smith 306dd63270SBarry Smith subroutine PetscErrorMPI(ierr) 31fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 326dd63270SBarry Smith PetscErrorCode, intent(inout) :: ierr 33*3d1372b2SMartin Diehl end subroutine 346dd63270SBarry Smith#endif 356dd63270SBarry Smith 366dd63270SBarry Smith subroutine MPIU_abort(comm, ierr) 37fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 38b06eb4cdSBarry Smith use petscmpi 39b06eb4cdSBarry Smith MPIU_Comm, intent(in) :: comm 406dd63270SBarry Smith PetscErrorCode, intent(in) :: ierr 416dd63270SBarry Smith end subroutine 426dd63270SBarry Smith 436dd63270SBarry Smith subroutine PetscViewerASCIIStdoutSetFileUnit(unit, z) 44fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 456dd63270SBarry Smith integer4 unit 466dd63270SBarry Smith PetscErrorCode, intent(out) :: z 476dd63270SBarry Smith end subroutine 486dd63270SBarry Smith 496dd63270SBarry Smith subroutine PetscLogEventBegin(event, ierr) 50fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 516dd63270SBarry Smith PetscLogEvent, intent(in) :: event 526dd63270SBarry Smith PetscErrorCode, intent(out) :: ierr 53*3d1372b2SMartin Diehl end subroutine 546dd63270SBarry Smith 556dd63270SBarry Smith subroutine PetscLogEventEnd(event, ierr) 56fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 576dd63270SBarry Smith PetscLogEvent, intent(in) :: event 586dd63270SBarry Smith PetscErrorCode, intent(out) :: ierr 59*3d1372b2SMartin Diehl end subroutine 606dd63270SBarry Smith 6102c639afSMartin Diehl subroutine PetscIntArray1dDestroy(a, ierr) 62fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 6302c639afSMartin Diehl PetscInt, pointer :: a(:) 646dd63270SBarry Smith PetscErrorCode :: ierr 6502c639afSMartin Diehl end subroutine 666dd63270SBarry Smith 6702c639afSMartin Diehl subroutine PetscShmgetAllocateArrayScalar(start, len, d1, ierr) 68fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 696dd63270SBarry Smith PetscInt :: start, len 706dd63270SBarry Smith PetscScalar, pointer :: d1(:) 716dd63270SBarry Smith PetscErrorCode ierr 7202c639afSMartin Diehl end subroutine 736dd63270SBarry Smith 7402c639afSMartin Diehl subroutine PetscShmgetDeallocateArrayScalar(d1, ierr) 75fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 766dd63270SBarry Smith PetscScalar, pointer :: d1(:) 776dd63270SBarry Smith PetscErrorCode ierr 7802c639afSMartin Diehl end subroutine 796dd63270SBarry Smith 8002c639afSMartin Diehl subroutine PetscShmgetAllocateArrayInt(start, len, d1, ierr) 81fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 826dd63270SBarry Smith PetscInt :: start, len 836dd63270SBarry Smith PetscInt, pointer :: d1(:) 846dd63270SBarry Smith PetscErrorCode ierr 8502c639afSMartin Diehl end subroutine 866dd63270SBarry Smith 8702c639afSMartin Diehl subroutine PetscShmgetDeallocateArrayInt(d1, ierr) 88fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 896dd63270SBarry Smith PetscInt, pointer :: d1(:) 906dd63270SBarry Smith PetscErrorCode ierr 9102c639afSMartin Diehl end subroutine 9202c639afSMartin Diehlend interface 93*3d1372b2SMartin Diehl 94*3d1372b2SMartin Diehl#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 95*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscPrintf 96*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscErrorf 97*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscErrorMPI 98*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::MPIU_abort 99*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscViewerASCIIStdoutSetFileUnit 100*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscLogEventBegin 101*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscLogEventEnd 102*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscIntArray1dDestroy 103*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetAllocateArrayScalar 104*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetDeallocateArrayScalar 105*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetAllocateArrayInt 106*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetDeallocateArrayInt 107*3d1372b2SMartin Diehl#endif 108