xref: /petsc/src/binding/petsc4py/src/lib-petsc/compat/viennacl.h (revision 9d47de495d3c23378050c1b4a410c12a375cb6c6)
1 #if !defined(PETSC4PY_COMPAT_VIENNACL_H)
2 #define PETSC4PY_COMPAT_VIENNACL_H
3 
4 #if !defined(PETSC_HAVE_VIENNACL)
5 
6 #define PetscViennaCLError do { \
7     PetscFunctionBegin; \
8     SETERRQ(PETSC_COMM_SELF,PETSC_ERR_SUP,"%s() requires ViennaCL",PETSC_FUNCTION_NAME); \
9     PetscFunctionReturn(PETSC_ERR_SUP);} while (0)
10 
VecCreateSeqViennaCLWithArrays(PETSC_UNUSED MPI_Comm comm,PETSC_UNUSED PetscInt bs,PETSC_UNUSED PetscInt n,PETSC_UNUSED PetscScalar cpuarray[],PETSC_UNUSED PetscScalar * viennaclvec,PETSC_UNUSED Vec * V)11 PetscErrorCode VecCreateSeqViennaCLWithArrays(PETSC_UNUSED MPI_Comm comm,PETSC_UNUSED PetscInt bs,PETSC_UNUSED PetscInt n,PETSC_UNUSED PetscScalar cpuarray[],PETSC_UNUSED PetscScalar* viennaclvec,PETSC_UNUSED Vec *V) {PetscViennaCLError;}
VecCreateMPIViennaCLWithArrays(PETSC_UNUSED MPI_Comm comm,PETSC_UNUSED PetscInt bs,PETSC_UNUSED PetscInt n,PETSC_UNUSED PetscInt N,PETSC_UNUSED PetscScalar cpuarray[],PETSC_UNUSED PetscScalar * viennaclvec,PETSC_UNUSED Vec * vv)12 PetscErrorCode VecCreateMPIViennaCLWithArrays(PETSC_UNUSED MPI_Comm comm,PETSC_UNUSED PetscInt bs,PETSC_UNUSED PetscInt n,PETSC_UNUSED PetscInt N,PETSC_UNUSED PetscScalar cpuarray[],PETSC_UNUSED PetscScalar *viennaclvec,PETSC_UNUSED Vec *vv) {PetscViennaCLError;}
13 
14 #undef PetscViennaCLError
15 
16 # else
17 
18 PetscErrorCode VecCreateSeqViennaCLWithArrays(MPI_Comm,PetscInt,PetscInt,PetscScalar[],PetscScalar[],Vec*);
19 PetscErrorCode VecCreateMPIViennaCLWithArrays(MPI_Comm,PetscInt,PetscInt,PetscInt,PetscScalar[],PetscScalar[],Vec*);
20 
21 #endif
22 
23 #endif/*PETSC4PY_COMPAT_VIENNACL_H*/
24