Actual source code: stashij.h
petsc-3.3-p7 2013-05-11
1: #if !defined(_STASHIJ_H)
2: #define _STASHIJ_H
4: /* Need PetscLayout */
5: #include <petsc-private/vecimpl.h> /*I "petscvec.h" */
7: /* Need PetscHash */
8: #include <../src/sys/utils/hash.h>
10: struct _MatStashSeqIJ {
11: PetscInt n;
12: PetscBool multivalued;
13: PetscHashIJ h;
14: };
15: typedef struct _MatStashSeqIJ *MatStashSeqIJ;
17: struct _MatStashMPIIJ {
18: PetscLayout rmap;
19: MatStashSeqIJ astash, bstash;
20: PetscBool assembled;
21: };
22: typedef struct _MatStashMPIIJ *MatStashMPIIJ;
24: extern PetscErrorCode MatStashSeqIJCreate_Private(MatStashSeqIJ*);
25: extern PetscErrorCode MatStashSeqIJGetMultivalued_Private(MatStashSeqIJ, PetscBool*);
26: extern PetscErrorCode MatStashSeqIJSetMultivalued_Private(MatStashSeqIJ, PetscBool);
27: extern PetscErrorCode MatStashSeqIJExtend_Private(MatStashSeqIJ, PetscInt, const PetscInt*, const PetscInt*);
29: extern PetscErrorCode MatStashSeqIJSetPreallocation_Private(MatStashSeqIJ, PetscInt);
30: extern PetscErrorCode MatStashSeqIJGetIndices_Private(MatStashSeqIJ, PetscInt*,PetscInt**, PetscInt**);
31: extern PetscErrorCode MatStashSeqIJClear_Private(MatStashSeqIJ);
32: extern PetscErrorCode MatStashSeqIJDestroy_Private(MatStashSeqIJ *);
35: extern PetscErrorCode MatStashMPIIJCreate_Private(PetscLayout, MatStashMPIIJ*);
36: extern PetscErrorCode MatStashMPIIJGetMultivalued_Private(MatStashMPIIJ, PetscBool*);
37: extern PetscErrorCode MatStashMPIIJSetMultivalued_Private(MatStashMPIIJ, PetscBool);
38: extern PetscErrorCode MatStashMPIIJDestroy_Private(MatStashMPIIJ *);
39: extern PetscErrorCode MatStashMPIIJClear_Private(MatStashMPIIJ);
41: extern PetscErrorCode MatStashMPIIJSetPreallocation_Private(MatStashMPIIJ, PetscInt, PetscInt);
42: extern PetscErrorCode MatStashMPIIJExtend_Private(MatStashMPIIJ, PetscInt, const PetscInt*, const PetscInt*);
43: extern PetscErrorCode MatStashMPIIJGetIndices_Private(MatStashMPIIJ, PetscInt*,PetscInt**, PetscInt**,PetscInt*,PetscInt**,PetscInt**);
45: extern PetscErrorCode MatStashMPIIJGetIndicesMerged_Private(MatStashMPIIJ, PetscInt*,PetscInt**, PetscInt**);
47: extern PetscErrorCode MatStashMPIIJAssemble_Private(MatStashMPIIJ);
48: #endif