16dd63270SBarry Smith#if defined(PETSC_HAVE_FORTRAN_TYPE_STAR) 202c639afSMartin Diehl interface 36dd63270SBarry Smith subroutine PetscSFBcastBegin(sf, unit, rarray, larray, op, ierr) 4fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 5*b06eb4cdSBarry Smith#if defined(PETSC_USE_MPI_F08) 6*b06eb4cdSBarry Smith import tPetscSF, MPI_Datatype, MPI_Op 7*b06eb4cdSBarry Smith#else 86dd63270SBarry Smith import tPetscSF 9*b06eb4cdSBarry Smith#endif 106dd63270SBarry Smith PetscSF :: sf 11*b06eb4cdSBarry Smith MPIU_Datatype :: unit 12*b06eb4cdSBarry Smith MPIU_Op :: op 136dd63270SBarry Smith type(*) :: rarray(:) 146dd63270SBarry Smith type(*) :: larray(:) 156dd63270SBarry Smith PetscErrorCode :: ierr 1602c639afSMartin Diehl end subroutine PetscSFBcastBegin 176dd63270SBarry Smith 186dd63270SBarry Smith subroutine PetscSFBcastEnd(sf, unit, rarray, larray, op, ierr) 19fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 20*b06eb4cdSBarry Smith#if defined(PETSC_USE_MPI_F08) 21*b06eb4cdSBarry Smith import tPetscSF, MPI_Datatype, MPI_Op 22*b06eb4cdSBarry Smith#else 236dd63270SBarry Smith import tPetscSF 24*b06eb4cdSBarry Smith#endif 256dd63270SBarry Smith PetscSF :: sf 26*b06eb4cdSBarry Smith MPIU_Datatype :: unit 27*b06eb4cdSBarry Smith MPIU_Op :: op 286dd63270SBarry Smith type(*) :: rarray(:) 296dd63270SBarry Smith type(*) :: larray(:) 306dd63270SBarry Smith PetscErrorCode :: ierr 3102c639afSMartin Diehl end subroutine PetscSFBcastEnd 326dd63270SBarry Smith 336dd63270SBarry Smith subroutine PetscSFReduceBegin(sf, unit, larray, rarray, op, ierr) 34fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 35*b06eb4cdSBarry Smith#if defined(PETSC_USE_MPI_F08) 36*b06eb4cdSBarry Smith import tPetscSF, MPI_Datatype, MPI_Op 37*b06eb4cdSBarry Smith#else 386dd63270SBarry Smith import tPetscSF 39*b06eb4cdSBarry Smith#endif 406dd63270SBarry Smith PetscSF :: sf 41*b06eb4cdSBarry Smith MPIU_Datatype :: unit 42*b06eb4cdSBarry Smith MPIU_Op :: op 436dd63270SBarry Smith type(*) :: larray(:) 446dd63270SBarry Smith type(*) :: rarray(:) 456dd63270SBarry Smith PetscErrorCode :: ierr 4602c639afSMartin Diehl end subroutine PetscSFReduceBegin 476dd63270SBarry Smith 486dd63270SBarry Smith subroutine PetscSFReduceEnd(sf, unit, larray, rarray, op, ierr) 49fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 50*b06eb4cdSBarry Smith#if defined(PETSC_USE_MPI_F08) 51*b06eb4cdSBarry Smith import tPetscSF, MPI_Datatype, MPI_Op 52*b06eb4cdSBarry Smith#else 536dd63270SBarry Smith import tPetscSF 54*b06eb4cdSBarry Smith#endif 556dd63270SBarry Smith PetscSF :: sf 56*b06eb4cdSBarry Smith MPIU_Datatype :: unit 57*b06eb4cdSBarry Smith MPIU_Op :: op 586dd63270SBarry Smith type(*) :: larray(:) 596dd63270SBarry Smith type(*) :: rarray(:) 606dd63270SBarry Smith PetscErrorCode :: ierr 6102c639afSMartin Diehl end subroutine PetscSFReduceEnd 6202c639afSMartin Diehl end interface 636dd63270SBarry Smith#endif 646dd63270SBarry Smith 656dd63270SBarry Smith interface 666dd63270SBarry Smith subroutine VecRestoreOwnershipRanges(v, ptr, ierr) 67fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 686dd63270SBarry Smith import tVec 6911105114SMartin Diehl Vec :: v 706dd63270SBarry Smith PetscInt, pointer :: ptr(:) 7111105114SMartin Diehl PetscErrorCode, intent(out) :: ierr 726dd63270SBarry Smith end subroutine VecRestoreOwnershipRanges 736dd63270SBarry Smith 746dd63270SBarry Smith subroutine PetscSFRestoreGraph(sf, nroots, nleaves, ilocal, iremote, ierr) 75fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 766dd63270SBarry Smith import tPetscSF, sPetscSFNode 776dd63270SBarry Smith PetscSF :: sf 786dd63270SBarry Smith PetscInt :: nroots, nleaves 796dd63270SBarry Smith PetscInt, pointer :: ilocal(:) 806dd63270SBarry Smith type(sPetscSFNode), pointer :: iremote(:) 816dd63270SBarry Smith PetscErrorCode :: ierr 8202c639afSMartin Diehl end subroutine PetscSFRestoreGraph 836dd63270SBarry Smith 8402c639afSMartin Diehl subroutine VecRestoreValuesSection(v, s, p, va, ierr) 85fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 866dd63270SBarry Smith import tVec, tPetscSection 876dd63270SBarry Smith PetscScalar, pointer :: va(:) 886dd63270SBarry Smith PetscErrorCode ierr 896dd63270SBarry Smith Vec v 906dd63270SBarry Smith PetscSection s 916dd63270SBarry Smith PetscInt p 9202c639afSMartin Diehl end subroutine 9302c639afSMartin Diehl end interface 94