xref: /petsc/include/petscis.h (revision 08480c60afa5ef1d2e4e27b9ebdf48b02c6a2186)
1 /* $Id: is.h,v 1.16 1995/10/11 17:59:04 curfman Exp bsmith $ */
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   ISSetIdentity(IS);
22 extern int   ISIsIdentity(IS);
23 
24 extern int   ISGetIndices(IS,int **);
25 extern int   ISRestoreIndices(IS,int **);
26 extern int   ISGetSize(IS,int *);
27 extern int   ISGetLocalSize(IS,int *);
28 extern int   ISDestroy(IS);
29 extern int   ISInvertPermutation(IS,IS*);
30 extern int   ISView(IS,Viewer);
31 
32 typedef enum {IS_SEQ=0, IS_STRIDE_SEQ=2} IndexSetType;
33 
34 #endif
35