Actual source code: vecf90.F
1: #include "petscconf.h"
2: #if defined(PETSC_HAVE_F90_H)
3: subroutine dummy_VecGetArrayF90()
4: return
5: end subroutine
7: #else
8: subroutine VecGetArrayF90(v, array, ierr)
9: implicit none
11: #include "include/finclude/petsc.h"
12: #include "include/finclude/petscvec.h"
14: PetscScalar, pointer :: array(:)
15: PetscErrorCode ierr
16: Vec v
18: PetscScalar, dimension(1), target :: v_local
19: PetscOffset offset
21: call VecGetArray(v,v_local,offset,ierr)
22: array=>v_local(offset+1:)
23: return
24: end subroutine
26: Subroutine VecRestoreArrayF90(v,array,ierr)
27: PetscScalar, pointer :: array(:)
28: PetscErrorCode ierr
29: Vec v
30: PetscOffset offset
32: offset = 0
33: call VecRestoreArray(v,array,offset,ierr)
34: nullify(array)
36: return
37: end subroutine
39: #endif