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 9*f0479e8cSBarry Smith #define IS_COOKIE 0x13131313 10*f0479e8cSBarry Smith 112eac72dbSBarry Smith typedef struct _IS* IS; 122eac72dbSBarry Smith 13aabeff55SBarry Smith extern int ISCreateSequential(int,int *,IS *); 1420563c6bSBarry Smith extern int ISCreateMPI(int,int,int *,MPI_Comm,IS *); 15aabeff55SBarry Smith extern int ISCreateStrideSequential(int,int,int,IS *); 1620563c6bSBarry Smith extern int ISStrideGetInfo(IS,int *,int*); 172eac72dbSBarry Smith 18aabeff55SBarry Smith extern int ISSetPermutation(IS); 19aabeff55SBarry Smith extern int ISIsPermutation(IS); 20aabeff55SBarry Smith extern int ISGetIndices(IS,int **); 21aabeff55SBarry Smith extern int ISRestoreIndices(IS,int **); 22aabeff55SBarry Smith extern int ISGetSize(IS,int *); 23aabeff55SBarry Smith extern int ISGetLocalSize(IS,int *); 24aabeff55SBarry Smith extern int ISDestroy(IS); 25aabeff55SBarry Smith extern int ISInvertPermutation(IS,IS*); 26aabeff55SBarry Smith extern int ISView(IS,Viewer); 27aabeff55SBarry Smith 282eac72dbSBarry Smith #endif 29