Actual source code: isimpl.h
1: /* $Id: isimpl.h,v 1.26 2001/01/15 21:44:24 bsmith Exp $ */
3: /*
4: Index sets for scatter-gather type operations in vectors
5: and matrices.
7: */
9: #if !defined(_IS_H)
10: #define _IS_H
11: #include petscis.h
13: struct _ISOps {
14: int (*getsize)(IS,int*),
15: (*getlocalsize)(IS,int*),
16: (*getindices)(IS,int**),
17: (*restoreindices)(IS,int**),
18: (*invertpermutation)(IS,int,IS*),
19: (*sortindices)(IS),
20: (*sorted)(IS,PetscTruth *),
21: (*duplicate)(IS,IS *),
22: (*destroy)(IS),
23: (*view)(IS,PetscViewer),
24: (*identity)(IS,PetscTruth*);
25: };
27: struct _p_IS {
28: PETSCHEADER(struct _ISOps)
29: PetscTruth isperm; /* if is a permutation */
30: int max,min; /* range of possible values */
31: void *data;
32: PetscTruth isidentity;
33: };
36: #endif