xref: /petsc/src/vec/ftn-mod/petscvec.h90 (revision 57d508425293f0bb93f59574d14951d8faac9af8)
1#if defined(PETSC_HAVE_FORTRAN_TYPE_STAR)
2      Interface
3        subroutine PetscSFBcastBegin(sf, unit, rarray, larray, op, ierr)
4          use, intrinsic :: ISO_C_binding
5          import tPetscSF
6          PetscSF :: sf
7          PetscMPIInt :: unit, op
8          type(*) :: rarray(:)
9          type(*) :: larray(:)
10          PetscErrorCode :: ierr
11        end Subroutine PetscSFBcastBegin
12
13        subroutine PetscSFBcastEnd(sf, unit, rarray, larray, op, ierr)
14          use, intrinsic :: ISO_C_binding
15          import tPetscSF
16          PetscSF :: sf
17          PetscMPIInt :: unit, op
18          type(*) :: rarray(:)
19          type(*) :: larray(:)
20          PetscErrorCode :: ierr
21        end Subroutine PetscSFBcastEnd
22
23        subroutine PetscSFReduceBegin(sf, unit, larray, rarray, op, ierr)
24          use, intrinsic :: ISO_C_binding
25          import tPetscSF
26          PetscSF :: sf
27          PetscMPIInt :: unit, op
28          type(*) :: larray(:)
29          type(*) :: rarray(:)
30          PetscErrorCode :: ierr
31        end Subroutine PetscSFReduceBegin
32
33        subroutine PetscSFReduceEnd(sf, unit, larray, rarray, op, ierr)
34          use, intrinsic :: ISO_C_binding
35          import tPetscSF
36          PetscSF :: sf
37          PetscMPIInt :: unit, op
38          type(*) :: larray(:)
39          type(*) :: rarray(:)
40          PetscErrorCode :: ierr
41        end Subroutine PetscSFReduceEnd
42      end Interface
43#endif
44
45      interface
46        subroutine VecRestoreOwnershipRanges(v, ptr, ierr)
47          use, intrinsic :: ISO_C_binding
48          import tVec
49          Vec :: v
50          PetscInt, pointer :: ptr(:)
51          PetscErrorCode, intent(out) :: ierr
52        end subroutine VecRestoreOwnershipRanges
53
54        subroutine PetscSFRestoreGraph(sf, nroots, nleaves, ilocal, iremote, ierr)
55          use, intrinsic :: ISO_C_binding
56          import tPetscSF, sPetscSFNode
57          PetscSF :: sf
58          PetscInt :: nroots, nleaves
59          PetscInt, pointer :: ilocal(:)
60          type(sPetscSFNode), pointer :: iremote(:)
61          PetscErrorCode :: ierr
62        end Subroutine PetscSFRestoreGraph
63
64        Subroutine VecRestoreValuesSection(v, s, p, va, ierr)
65          use, intrinsic :: ISO_C_binding
66          import tVec, tPetscSection
67          PetscScalar, pointer :: va(:)
68          PetscErrorCode ierr
69          Vec v
70          PetscSection s
71          PetscInt p
72        End Subroutine
73      End Interface
74