102c639afSMartin Diehlinterface 2*3f7bdce8SBarry Smith subroutine PetscPrintf(comm, msg, ierr) 3fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 4b06eb4cdSBarry Smith use petscmpi 55ca1f5dcSBarry Smith MPIU_Comm :: comm 6*3f7bdce8SBarry Smith character(len=*) :: msg 7*3f7bdce8SBarry Smith PetscErrorCode :: ierr 8*3f7bdce8SBarry Smith end subroutine 9*3f7bdce8SBarry Smith 10*3f7bdce8SBarry Smith subroutine PetscSynchronizedPrintf(comm, msg, ierr) 11*3f7bdce8SBarry Smith use, intrinsic :: ISO_C_binding 12*3f7bdce8SBarry Smith use petscmpi 13*3f7bdce8SBarry Smith MPIU_Comm :: comm 14*3f7bdce8SBarry Smith character(len=*) :: msg 156dd63270SBarry Smith PetscErrorCode :: ierr 1602c639afSMartin Diehl end subroutine 176dd63270SBarry Smith 186dd63270SBarry Smith#if defined(PETSC_HAVE_FORTRAN_FREE_LINE_LENGTH_NONE) 196dd63270SBarry Smith subroutine PetscErrorf(ierr, line, file) 20fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 216dd63270SBarry Smith PetscErrorCode, intent(in) :: ierr 226dd63270SBarry Smith integer, intent(in) :: line 236dd63270SBarry Smith character(*) file 243d1372b2SMartin Diehl end subroutine 256dd63270SBarry Smith 266dd63270SBarry Smith subroutine PetscErrorMPI(ierr, line, file) 27fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 286dd63270SBarry Smith PetscErrorCode, intent(inout) :: ierr 296dd63270SBarry Smith integer, intent(in) :: line 306dd63270SBarry Smith character(*) file 313d1372b2SMartin Diehl end subroutine 326dd63270SBarry Smith#else 336dd63270SBarry Smith subroutine PetscErrorf(ierr) 34fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 356dd63270SBarry Smith PetscErrorCode, intent(in) :: ierr 363d1372b2SMartin Diehl end subroutine 376dd63270SBarry Smith 386dd63270SBarry Smith subroutine PetscErrorMPI(ierr) 39fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 406dd63270SBarry Smith PetscErrorCode, intent(inout) :: ierr 413d1372b2SMartin Diehl end subroutine 426dd63270SBarry Smith#endif 436dd63270SBarry Smith 446dd63270SBarry Smith subroutine MPIU_abort(comm, ierr) 45fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 46b06eb4cdSBarry Smith use petscmpi 47b06eb4cdSBarry Smith MPIU_Comm, intent(in) :: comm 486dd63270SBarry Smith PetscErrorCode, intent(in) :: ierr 496dd63270SBarry Smith end subroutine 506dd63270SBarry Smith 510da4d79bSMartin Diehl subroutine PetscViewerASCIIStdoutSetFileUnit(unit, ierr) 52fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 536dd63270SBarry Smith integer4 unit 540da4d79bSMartin Diehl PetscErrorCode, intent(out) :: ierr 556dd63270SBarry Smith end subroutine 566dd63270SBarry Smith 576dd63270SBarry Smith subroutine PetscLogEventBegin(event, ierr) 58fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 596dd63270SBarry Smith PetscLogEvent, intent(in) :: event 606dd63270SBarry Smith PetscErrorCode, intent(out) :: ierr 613d1372b2SMartin Diehl end subroutine 626dd63270SBarry Smith 636dd63270SBarry Smith subroutine PetscLogEventEnd(event, ierr) 64fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 656dd63270SBarry Smith PetscLogEvent, intent(in) :: event 666dd63270SBarry Smith PetscErrorCode, intent(out) :: ierr 673d1372b2SMartin Diehl end subroutine 686dd63270SBarry Smith 6902c639afSMartin Diehl subroutine PetscIntArray1dDestroy(a, ierr) 70fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 7102c639afSMartin Diehl PetscInt, pointer :: a(:) 726dd63270SBarry Smith PetscErrorCode :: ierr 7302c639afSMartin Diehl end subroutine 746dd63270SBarry Smith 7502c639afSMartin Diehl subroutine PetscShmgetAllocateArrayScalar(start, len, d1, ierr) 76fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 776dd63270SBarry Smith PetscInt :: start, len 786dd63270SBarry Smith PetscScalar, pointer :: d1(:) 790da4d79bSMartin Diehl PetscErrorCode, intent(out) :: ierr 8002c639afSMartin Diehl end subroutine 816dd63270SBarry Smith 8202c639afSMartin Diehl subroutine PetscShmgetDeallocateArrayScalar(d1, ierr) 83fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 846dd63270SBarry Smith PetscScalar, pointer :: d1(:) 850da4d79bSMartin Diehl PetscErrorCode, intent(out) :: ierr 8602c639afSMartin Diehl end subroutine 876dd63270SBarry Smith 8802c639afSMartin Diehl subroutine PetscShmgetAllocateArrayInt(start, len, d1, ierr) 89fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 906dd63270SBarry Smith PetscInt :: start, len 916dd63270SBarry Smith PetscInt, pointer :: d1(:) 920da4d79bSMartin Diehl PetscErrorCode, intent(out) :: ierr 9302c639afSMartin Diehl end subroutine 946dd63270SBarry Smith 9502c639afSMartin Diehl subroutine PetscShmgetDeallocateArrayInt(d1, ierr) 96fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 976dd63270SBarry Smith PetscInt, pointer :: d1(:) 980da4d79bSMartin Diehl PetscErrorCode, intent(out) :: ierr 9902c639afSMartin Diehl end subroutine 10002c639afSMartin Diehlend interface 1013d1372b2SMartin Diehl 1023d1372b2SMartin Diehl#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 1033d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscPrintf 104*3f7bdce8SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT::PetscSynchronizedPrintf 1053d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscErrorf 1063d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscErrorMPI 1073d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::MPIU_abort 1083d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscViewerASCIIStdoutSetFileUnit 1093d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscLogEventBegin 1103d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscLogEventEnd 1113d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscIntArray1dDestroy 1123d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetAllocateArrayScalar 1133d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetDeallocateArrayScalar 1143d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetAllocateArrayInt 1153d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetDeallocateArrayInt 1163d1372b2SMartin Diehl#endif 117