xref: /petsc/src/vec/ftn-mod/petscvec.h90 (revision 02c639afa00e507649aa5bac9084590bf17c181c)
16dd63270SBarry Smith#if defined(PETSC_HAVE_FORTRAN_TYPE_STAR)
2*02c639afSMartin Diehl      interface
36dd63270SBarry Smith        subroutine PetscSFBcastBegin(sf, unit, rarray, larray, op, ierr)
4fe66ebccSMartin Diehl          use, intrinsic :: ISO_C_binding
56dd63270SBarry Smith          import tPetscSF
66dd63270SBarry Smith          PetscSF :: sf
76dd63270SBarry Smith          PetscMPIInt :: unit, op
86dd63270SBarry Smith          type(*) :: rarray(:)
96dd63270SBarry Smith          type(*) :: larray(:)
106dd63270SBarry Smith          PetscErrorCode :: ierr
11*02c639afSMartin Diehl        end subroutine PetscSFBcastBegin
126dd63270SBarry Smith
136dd63270SBarry Smith        subroutine PetscSFBcastEnd(sf, unit, rarray, larray, op, ierr)
14fe66ebccSMartin Diehl          use, intrinsic :: ISO_C_binding
156dd63270SBarry Smith          import tPetscSF
166dd63270SBarry Smith          PetscSF :: sf
176dd63270SBarry Smith          PetscMPIInt :: unit, op
186dd63270SBarry Smith          type(*) :: rarray(:)
196dd63270SBarry Smith          type(*) :: larray(:)
206dd63270SBarry Smith          PetscErrorCode :: ierr
21*02c639afSMartin Diehl        end subroutine PetscSFBcastEnd
226dd63270SBarry Smith
236dd63270SBarry Smith        subroutine PetscSFReduceBegin(sf, unit, larray, rarray, op, ierr)
24fe66ebccSMartin Diehl          use, intrinsic :: ISO_C_binding
256dd63270SBarry Smith          import tPetscSF
266dd63270SBarry Smith          PetscSF :: sf
276dd63270SBarry Smith          PetscMPIInt :: unit, op
286dd63270SBarry Smith          type(*) :: larray(:)
296dd63270SBarry Smith          type(*) :: rarray(:)
306dd63270SBarry Smith          PetscErrorCode :: ierr
31*02c639afSMartin Diehl        end subroutine PetscSFReduceBegin
326dd63270SBarry Smith
336dd63270SBarry Smith        subroutine PetscSFReduceEnd(sf, unit, larray, rarray, op, ierr)
34fe66ebccSMartin Diehl          use, intrinsic :: ISO_C_binding
356dd63270SBarry Smith          import tPetscSF
366dd63270SBarry Smith          PetscSF :: sf
376dd63270SBarry Smith          PetscMPIInt :: unit, op
386dd63270SBarry Smith          type(*) :: larray(:)
396dd63270SBarry Smith          type(*) :: rarray(:)
406dd63270SBarry Smith          PetscErrorCode :: ierr
41*02c639afSMartin Diehl        end subroutine PetscSFReduceEnd
42*02c639afSMartin Diehl      end interface
436dd63270SBarry Smith#endif
446dd63270SBarry Smith
456dd63270SBarry Smith      interface
466dd63270SBarry Smith        subroutine VecRestoreOwnershipRanges(v, ptr, ierr)
47fe66ebccSMartin Diehl          use, intrinsic :: ISO_C_binding
486dd63270SBarry Smith          import tVec
4911105114SMartin Diehl          Vec :: v
506dd63270SBarry Smith          PetscInt, pointer :: ptr(:)
5111105114SMartin Diehl          PetscErrorCode, intent(out) :: ierr
526dd63270SBarry Smith        end subroutine VecRestoreOwnershipRanges
536dd63270SBarry Smith
546dd63270SBarry Smith        subroutine PetscSFRestoreGraph(sf, nroots, nleaves, ilocal, iremote, ierr)
55fe66ebccSMartin Diehl          use, intrinsic :: ISO_C_binding
566dd63270SBarry Smith          import tPetscSF, sPetscSFNode
576dd63270SBarry Smith          PetscSF :: sf
586dd63270SBarry Smith          PetscInt :: nroots, nleaves
596dd63270SBarry Smith          PetscInt, pointer :: ilocal(:)
606dd63270SBarry Smith          type(sPetscSFNode), pointer :: iremote(:)
616dd63270SBarry Smith          PetscErrorCode :: ierr
62*02c639afSMartin Diehl        end subroutine PetscSFRestoreGraph
636dd63270SBarry Smith
64*02c639afSMartin Diehl        subroutine VecRestoreValuesSection(v, s, p, va, ierr)
65fe66ebccSMartin Diehl          use, intrinsic :: ISO_C_binding
666dd63270SBarry Smith          import tVec, tPetscSection
676dd63270SBarry Smith          PetscScalar, pointer :: va(:)
686dd63270SBarry Smith          PetscErrorCode ierr
696dd63270SBarry Smith          Vec v
706dd63270SBarry Smith          PetscSection s
716dd63270SBarry Smith          PetscInt p
72*02c639afSMartin Diehl        end subroutine
73*02c639afSMartin Diehl      end interface
74