Actual source code: pvecimpl.h

  2: #ifndef __PVECIMPL

 5:  #include private/vecimpl.h
 6:  #include ../src/vec/vec/impls/dvecimpl.h

  8: typedef struct {
  9:   VECHEADER
 10:   MPI_Request *send_waits,*recv_waits;  /* for communication during VecAssembly() */
 11:   PetscInt    nsends,nrecvs;
 12:   PetscScalar *svalues,*rvalues;
 13:   PetscInt    rmax;
 14: 
 15:   PetscInt    nghost;                   /* length of local portion including ghost padding */
 16: 
 17:   Vec         localrep;                 /* local representation of vector */
 18:   VecScatter  localupdate;              /* scatter to update ghost values */
 19: } Vec_MPI;

 21: EXTERN PetscErrorCode VecMDot_MPI(Vec,PetscInt,const Vec[],PetscScalar *);
 22: EXTERN PetscErrorCode VecMTDot_MPI(Vec,PetscInt,const Vec[],PetscScalar *);
 23: EXTERN PetscErrorCode VecNorm_MPI(Vec,NormType,PetscReal *);
 24: EXTERN PetscErrorCode VecMax_MPI(Vec,PetscInt *,PetscReal *);
 25: EXTERN PetscErrorCode VecMin_MPI(Vec,PetscInt *,PetscReal *);
 26: EXTERN PetscErrorCode VecDestroy_MPI(Vec);
 27: EXTERN PetscErrorCode VecView_MPI_File(Vec,PetscViewer);
 28: EXTERN PetscErrorCode VecView_MPI_Files(Vec,PetscViewer);
 29: EXTERN PetscErrorCode VecView_MPI_Binary(Vec,PetscViewer);
 30: EXTERN PetscErrorCode VecView_MPI_Netcdf(Vec,PetscViewer);
 31: EXTERN PetscErrorCode VecView_MPI_Draw_LG(Vec,PetscViewer);
 32: EXTERN PetscErrorCode VecView_MPI_Socket(Vec,PetscViewer);
 33: EXTERN PetscErrorCode VecView_MPI(Vec,PetscViewer);
 34: EXTERN PetscErrorCode VecGetSize_MPI(Vec,PetscInt *);
 35: EXTERN PetscErrorCode VecSetValues_MPI(Vec,PetscInt,const PetscInt [],const PetscScalar[],InsertMode);
 36: EXTERN PetscErrorCode VecSetValuesBlocked_MPI(Vec,PetscInt,const PetscInt [],const PetscScalar[],InsertMode);
 37: EXTERN PetscErrorCode VecAssemblyBegin_MPI(Vec);
 38: EXTERN PetscErrorCode VecAssemblyEnd_MPI(Vec);

 40: EXTERN PetscErrorCode VecCreate_MPI_Private(Vec,PetscTruth,PetscInt,const PetscScalar[]);

 42: #endif