xref: /petsc/include/petscis.h (revision 18cf2ef4c649226b74061aabdfca4cf4dbcdc7f6)
1 /* $Id: snes.h,v 1.17 1995/06/02 21:05:19 bsmith Exp $ */
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   ISCreateSequential(MPI_Comm,int,int *,IS *);
15 extern int   ISCreateMPI(int,int,int *,MPI_Comm,IS *);
16 extern int   ISCreateStrideSequential(MPI_Comm,int,int,int,IS *);
17 extern int   ISAddStrideSequential(IS*,int,int,int);
18 extern int   ISStrideGetInfo(IS,int *,int*);
19 
20 extern int   ISSetPermutation(IS);
21 extern int   ISIsPermutation(IS);
22 extern int   ISGetIndices(IS,int **);
23 extern int   ISRestoreIndices(IS,int **);
24 extern int   ISGetSize(IS,int *);
25 extern int   ISGetLocalSize(IS,int *);
26 extern int   ISDestroy(IS);
27 extern int   ISInvertPermutation(IS,IS*);
28 extern int   ISView(IS,Viewer);
29 
30 #define ISGENERALSEQUENTIAL 0
31 #define ISSTRIDESEQUENTIAL  2
32 #define ISGENERALPARALLEL   1
33 
34 #endif
35