xref: /petsc/include/petscis.h (revision aabeff5590035bf336619cac8ab5f77fcf66f5a6)
12eac72dbSBarry Smith 
22eac72dbSBarry Smith /*
32eac72dbSBarry Smith       An index set is essentially a subset of the integers
42eac72dbSBarry Smith */
52eac72dbSBarry Smith #if !defined(__IS_PACKAGE)
62eac72dbSBarry Smith #define __IS_PACKAGE
72eac72dbSBarry Smith #include "petsc.h"
82eac72dbSBarry Smith 
92eac72dbSBarry Smith typedef struct _IS* IS;
10*aabeff55SBarry Smith typedef struct _ISScatterCtx* ISScatterCtx;
112eac72dbSBarry Smith 
12*aabeff55SBarry Smith extern int    ISCreateSequential(int,int *,IS *);
13*aabeff55SBarry Smith #if defined(USING_MPI)
14*aabeff55SBarry Smith extern int    ISCreateParallel(int,int,int *,MPI_Comm,IS *);
15*aabeff55SBarry Smith #endif
16*aabeff55SBarry Smith extern int    ISCreateStrideSequential(int,int,int,IS *);
17*aabeff55SBarry Smith extern int    ISCreateRangeSequential(int,int,int,IS *);
182eac72dbSBarry Smith 
19*aabeff55SBarry Smith extern int   ISSetPermutation(IS);
20*aabeff55SBarry Smith extern int   ISIsPermutation(IS);
21*aabeff55SBarry Smith extern int   ISGetIndices(IS,int **);
22*aabeff55SBarry Smith extern int   ISRestoreIndices(IS,int **);
23*aabeff55SBarry Smith extern int   ISGetSize(IS,int *);
24*aabeff55SBarry Smith extern int   ISGetLocalSize(IS,int *);
25*aabeff55SBarry Smith extern int   ISDestroy(IS);
26*aabeff55SBarry Smith extern int   ISInvertPermutation(IS,IS*);
27*aabeff55SBarry Smith extern int   ISView(IS,Viewer);
28*aabeff55SBarry Smith 
29*aabeff55SBarry Smith extern int   ISSetUpScatterBegin(IS,IS,ISScatterCtx*);
30*aabeff55SBarry Smith extern int   ISSetUpScatterEnd(IS,IS,ISScatterCtx*);
31*aabeff55SBarry Smith extern int   ISFreeScatterCtx(ISScatterCtx);
322eac72dbSBarry Smith 
332eac72dbSBarry Smith #endif
34