xref: /petsc/include/petscis.h (revision ddd1276785a76ea4a3b2575e2a65f0ba44dae580)
1 /* $Id: is.h,v 1.15 1995/09/11 19:20:08 bsmith Exp curfman $ */
2 
3 /*
4       An index set is essentially a subset of the integers
5 */
6 #if !defined(__IS_PACKAGE)
7 #define __IS_PACKAGE
8 #include "petsc.h"
9 
10 #define IS_COOKIE PETSC_COOKIE+2
11 
12 typedef struct _IS* IS;
13 
14 extern int   ISCreateSeq(MPI_Comm,int,int *,IS *);
15 extern int   ISCreateStrideSeq(MPI_Comm,int,int,int,IS *);
16 extern int   ISAddStrideSeq(IS*,int,int,int);
17 extern int   ISStrideGetInfo(IS,int *,int*);
18 
19 extern int   ISSetPermutation(IS);
20 extern int   ISIsPermutation(IS);
21 extern int   ISGetIndices(IS,int **);
22 extern int   ISRestoreIndices(IS,int **);
23 extern int   ISGetSize(IS,int *);
24 extern int   ISGetLocalSize(IS,int *);
25 extern int   ISDestroy(IS);
26 extern int   ISInvertPermutation(IS,IS*);
27 extern int   ISView(IS,Viewer);
28 
29 typedef enum {IS_SEQ=0, IS_STRIDE_SEQ=2} IndexSetType;
30 
31 #endif
32