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