xref: /petsc/src/vec/ftn-mod/petscvec.h90 (revision 0baf8eba40dbc839082666f9f7396a225d6f663c)
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      Vec :: v
45      PetscInt, pointer :: ptr(:)
46      PetscErrorCode, intent(out) :: ierr
47      end subroutine VecRestoreOwnershipRanges
48
49      subroutine PetscSFRestoreGraph(sf,nroots,nleaves,ilocal,iremote,ierr)
50          import tPetscSF,sPetscSFNode
51          PetscSF :: sf
52          PetscInt :: nroots,nleaves
53          PetscInt, pointer :: ilocal(:)
54          type(sPetscSFNode), pointer :: iremote(:)
55          PetscErrorCode :: ierr
56      end Subroutine PetscSFRestoreGraph
57
58        Subroutine VecRestoreValuesSection(v,s,p,va,ierr)
59          import tVec,tPetscSection
60          PetscScalar, pointer :: va(:)
61          PetscErrorCode ierr
62          Vec     v
63          PetscSection s
64          PetscInt p
65        End Subroutine
66      End Interface
67