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