xref: /petsc/include/petscis.h (revision 08480c60afa5ef1d2e4e27b9ebdf48b02c6a2186)
1*08480c60SBarry Smith /* $Id: is.h,v 1.16 1995/10/11 17:59:04 curfman Exp bsmith $ */
22eac72dbSBarry Smith 
32eac72dbSBarry Smith /*
42eac72dbSBarry Smith       An index set is essentially a subset of the integers
52eac72dbSBarry Smith */
62eac72dbSBarry Smith #if !defined(__IS_PACKAGE)
72eac72dbSBarry Smith #define __IS_PACKAGE
82eac72dbSBarry Smith #include "petsc.h"
92eac72dbSBarry Smith 
109e25ed09SBarry Smith #define IS_COOKIE PETSC_COOKIE+2
11f0479e8cSBarry Smith 
122eac72dbSBarry Smith typedef struct _IS* IS;
132eac72dbSBarry Smith 
14de7da479SBarry Smith extern int   ISCreateSeq(MPI_Comm,int,int *,IS *);
15de7da479SBarry Smith extern int   ISCreateStrideSeq(MPI_Comm,int,int,int,IS *);
16de7da479SBarry Smith extern int   ISAddStrideSeq(IS*,int,int,int);
1720563c6bSBarry Smith extern int   ISStrideGetInfo(IS,int *,int*);
182eac72dbSBarry Smith 
19aabeff55SBarry Smith extern int   ISSetPermutation(IS);
20aabeff55SBarry Smith extern int   ISIsPermutation(IS);
21*08480c60SBarry Smith extern int   ISSetIdentity(IS);
22*08480c60SBarry Smith extern int   ISIsIdentity(IS);
23*08480c60SBarry Smith 
24aabeff55SBarry Smith extern int   ISGetIndices(IS,int **);
25aabeff55SBarry Smith extern int   ISRestoreIndices(IS,int **);
26aabeff55SBarry Smith extern int   ISGetSize(IS,int *);
27aabeff55SBarry Smith extern int   ISGetLocalSize(IS,int *);
28aabeff55SBarry Smith extern int   ISDestroy(IS);
29aabeff55SBarry Smith extern int   ISInvertPermutation(IS,IS*);
30aabeff55SBarry Smith extern int   ISView(IS,Viewer);
31aabeff55SBarry Smith 
3264119d58SLois Curfman McInnes typedef enum {IS_SEQ=0, IS_STRIDE_SEQ=2} IndexSetType;
3330913a5eSBarry Smith 
342eac72dbSBarry Smith #endif
35