1 /* $Id: is.h,v 1.24 1996/04/16 04:48:03 bsmith Exp bsmith $ */ 2 3 /* 4 An index set is essentially a subset of the integers. They are used 5 for defining scatters and gathers. 6 */ 7 #if !defined(__IS_PACKAGE) 8 #define __IS_PACKAGE 9 #include "petsc.h" 10 11 typedef enum {IS_SEQ=0, IS_STRIDE_SEQ=1} ISType; 12 13 #define IS_COOKIE PETSC_COOKIE+2 14 15 typedef struct _IS* IS; 16 17 extern int ISCreateSeq(MPI_Comm,int,int *,IS *); 18 extern int ISCreateStrideSeq(MPI_Comm,int,int,int,IS *); 19 20 extern int ISDestroy(IS); 21 22 extern int ISStrideGetInfo(IS,int *,int*); 23 24 extern int ISSetPermutation(IS); 25 extern int ISPermutation(IS,PetscTruth*); 26 extern int ISSetIdentity(IS); 27 extern int ISIdentity(IS,PetscTruth*); 28 29 extern int ISGetIndices(IS,int **); 30 extern int ISRestoreIndices(IS,int **); 31 extern int ISGetSize(IS,int *); 32 extern int ISInvertPermutation(IS,IS*); 33 extern int ISView(IS,Viewer); 34 extern int ISEqual(IS, IS, PetscTruth *); 35 extern int ISSort(IS); 36 extern int ISSorted(IS, PetscTruth *); 37 #endif 38