Actual source code: pvecimpl.h

  1: /* $Id: pvecimpl.h,v 1.37 2001/09/07 20:09:01 bsmith Exp $ */
  2: /* 
  3:  */

  5: #ifndef __PVECIMPL

 8:  #include src/vec/vecimpl.h
 9:  #include src/vec/impls/dvecimpl.h

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

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

 43: EXTERN int VecCreate_MPI_Private(Vec,int,const PetscScalar[],PetscMap);

 45: #endif