1 #if !defined(__PETSCVIENNACL_H) 2 #define __PETSCVIENNACL_H 3 4 5 #define VIENNACL_WITH_OPENCL 6 7 #include <petscvec.h> 8 #include <viennacl/vector.hpp> 9 10 PETSC_EXTERN PetscErrorCode VecViennaCLGetArrayReadWrite(Vec v, viennacl::vector<PetscScalar> **a); 11 PETSC_EXTERN PetscErrorCode VecViennaCLRestoreArrayReadWrite(Vec v, viennacl::vector<PetscScalar> **a); 12 13 PETSC_EXTERN PetscErrorCode VecViennaCLGetArrayRead(Vec v, const viennacl::vector<PetscScalar> **a); 14 PETSC_EXTERN PetscErrorCode VecViennaCLRestoreArrayRead(Vec v, const viennacl::vector<PetscScalar> **a); 15 16 PETSC_EXTERN PetscErrorCode VecViennaCLGetArrayWrite(Vec v, viennacl::vector<PetscScalar> **a); 17 PETSC_EXTERN PetscErrorCode VecViennaCLRestoreArrayWrite(Vec v, viennacl::vector<PetscScalar> **a); 18 19 20 21 #endif 22