1 /*
2    This should not be included in users code.
3 
4   Includes definition of structure for seqential vectors
5 
6   These are shared by dvec1.c dvec2.c dvec3.c bvec1.c bvec2.c pvec.c pbvec.c
7 */
8 
9 #if !defined(__DVECIMPL)
10 #define __DVECIMPL
11 
12 #include <petsc/private/vecimpl.h>
13 
14 typedef struct {
15   VECHEADER
16 } Vec_Seq;
17 
18 PETSC_INTERN PetscErrorCode VecMDot_Seq(Vec,PetscInt,const Vec[],PetscScalar*);
19 PETSC_INTERN PetscErrorCode VecMTDot_Seq(Vec,PetscInt,const Vec[],PetscScalar*);
20 PETSC_INTERN PetscErrorCode VecMin_Seq(Vec,PetscInt*,PetscReal*);
21 PETSC_INTERN PetscErrorCode VecSet_Seq(Vec,PetscScalar);
22 PETSC_INTERN PetscErrorCode VecMAXPY_Seq(Vec,PetscInt,const PetscScalar*,Vec*);
23 PETSC_INTERN PetscErrorCode VecAYPX_Seq(Vec,PetscScalar,Vec);
24 PETSC_INTERN PetscErrorCode VecWAXPY_Seq(Vec,PetscScalar,Vec,Vec);
25 PETSC_INTERN PetscErrorCode VecAXPBYPCZ_Seq(Vec,PetscScalar,PetscScalar,PetscScalar,Vec,Vec);
26 PETSC_INTERN PetscErrorCode VecMaxPointwiseDivide_Seq(Vec,Vec,PetscReal*);
27 PETSC_INTERN PetscErrorCode VecPlaceArray_Seq(Vec,const PetscScalar*);
28 PETSC_INTERN PetscErrorCode VecResetArray_Seq(Vec);
29 PETSC_INTERN PetscErrorCode VecReplaceArray_Seq(Vec,const PetscScalar*);
30 PETSC_INTERN PetscErrorCode VecDot_Seq(Vec,Vec,PetscScalar*);
31 PETSC_INTERN PetscErrorCode VecTDot_Seq(Vec,Vec,PetscScalar*);
32 PETSC_INTERN PetscErrorCode VecScale_Seq(Vec,PetscScalar);
33 PETSC_INTERN PetscErrorCode VecAXPY_Seq(Vec,PetscScalar,Vec);
34 PETSC_INTERN PetscErrorCode VecAXPBY_Seq(Vec,PetscScalar,PetscScalar,Vec);
35 PETSC_INTERN PetscErrorCode VecMax_Seq(Vec,PetscInt*,PetscReal*);
36 PETSC_INTERN PetscErrorCode VecNorm_Seq(Vec,NormType,PetscReal*);
37 PETSC_INTERN PetscErrorCode VecDestroy_Seq(Vec);
38 PETSC_INTERN PetscErrorCode VecDuplicate_Seq(Vec,Vec*);
39 PETSC_INTERN PetscErrorCode VecSetOption_Seq(Vec,VecOption,PetscBool);
40 PETSC_INTERN PetscErrorCode VecGetValues_Seq(Vec,PetscInt,const PetscInt*,PetscScalar*);
41 PETSC_INTERN PetscErrorCode VecSetValues_Seq(Vec,PetscInt,const PetscInt*,const PetscScalar*,InsertMode);
42 PETSC_INTERN PetscErrorCode VecSetValuesBlocked_Seq(Vec,PetscInt,const PetscInt*,const PetscScalar*,InsertMode);
43 PETSC_INTERN PetscErrorCode VecGetSize_Seq(Vec,PetscInt*);
44 PETSC_INTERN PetscErrorCode VecCopy_Seq(Vec,Vec);
45 PETSC_INTERN PetscErrorCode VecSwap_Seq(Vec,Vec);
46 PETSC_INTERN PetscErrorCode VecConjugate_Seq(Vec);
47 PETSC_INTERN PetscErrorCode VecSetRandom_Seq(Vec,PetscRandom);
48 PETSC_INTERN PetscErrorCode VecPointwiseMult_Seq(Vec,Vec,Vec);
49 PETSC_INTERN PetscErrorCode VecPointwiseMax_Seq(Vec,Vec,Vec);
50 PETSC_INTERN PetscErrorCode VecPointwiseMaxAbs_Seq(Vec,Vec,Vec);
51 PETSC_INTERN PetscErrorCode VecPointwiseMin_Seq(Vec,Vec,Vec);
52 PETSC_INTERN PetscErrorCode VecPointwiseDivide_Seq(Vec,Vec,Vec);
53 
54 PETSC_EXTERN PetscErrorCode VecCreate_Seq(Vec);
55 PETSC_INTERN PetscErrorCode VecCreate_Seq_Private(Vec,const PetscScalar[]);
56 
57 #endif
58