Actual source code: isimpl.h

  1: /* $Id: isimpl.h,v 1.26 2001/01/15 21:44:24 bsmith Exp $ */

  3: /*
  4:     Index sets for scatter-gather type operations in vectors
  5: and matrices. 

  7: */

  9: #if !defined(_IS_H)
 10: #define _IS_H
 11:  #include petscis.h

 13: struct _ISOps {
 14:   int  (*getsize)(IS,int*),
 15:        (*getlocalsize)(IS,int*),
 16:        (*getindices)(IS,int**),
 17:        (*restoreindices)(IS,int**),
 18:        (*invertpermutation)(IS,int,IS*),
 19:        (*sortindices)(IS),
 20:        (*sorted)(IS,PetscTruth *),
 21:        (*duplicate)(IS,IS *),
 22:        (*destroy)(IS),
 23:        (*view)(IS,PetscViewer),
 24:        (*identity)(IS,PetscTruth*);
 25: };

 27: struct _p_IS {
 28:   PETSCHEADER(struct _ISOps)
 29:   PetscTruth   isperm;          /* if is a permutation */
 30:   int          max,min;         /* range of possible values */
 31:   void         *data;
 32:   PetscTruth   isidentity;
 33: };


 36: #endif