#if defined(PETSC_HAVE_FORTRAN_TYPE_STAR) Interface subroutine PetscSFBcastBegin(sf,unit,rarray,larray,op,ierr) import tPetscSF PetscSF :: sf PetscMPIInt :: unit,op type(*) :: rarray(:) type(*) :: larray(:) PetscErrorCode :: ierr end Subroutine PetscSFBcastBegin subroutine PetscSFBcastEnd(sf,unit,rarray,larray,op,ierr) import tPetscSF PetscSF :: sf PetscMPIInt :: unit,op type(*) :: rarray(:) type(*) :: larray(:) PetscErrorCode :: ierr end Subroutine PetscSFBcastEnd subroutine PetscSFReduceBegin(sf,unit,larray,rarray,op,ierr) import tPetscSF PetscSF :: sf PetscMPIInt :: unit,op type(*) :: larray(:) type(*) :: rarray(:) PetscErrorCode :: ierr end Subroutine PetscSFReduceBegin subroutine PetscSFReduceEnd(sf,unit,larray,rarray,op,ierr) import tPetscSF PetscSF :: sf PetscMPIInt :: unit,op type(*) :: larray(:) type(*) :: rarray(:) PetscErrorCode :: ierr end Subroutine PetscSFReduceEnd end Interface #endif interface subroutine VecRestoreOwnershipRanges(v, ptr, ierr) import tVec Vec :: v PetscInt, pointer :: ptr(:) PetscErrorCode, intent(out) :: ierr end subroutine VecRestoreOwnershipRanges subroutine PetscSFRestoreGraph(sf,nroots,nleaves,ilocal,iremote,ierr) import tPetscSF,sPetscSFNode PetscSF :: sf PetscInt :: nroots,nleaves PetscInt, pointer :: ilocal(:) type(sPetscSFNode), pointer :: iremote(:) PetscErrorCode :: ierr end Subroutine PetscSFRestoreGraph Subroutine VecRestoreValuesSection(v,s,p,va,ierr) import tVec,tPetscSection PetscScalar, pointer :: va(:) PetscErrorCode ierr Vec v PetscSection s PetscInt p End Subroutine End Interface