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