6 #ifndef MYRAMATH_SPARSE_PATTERNRANGE_H     7 #define MYRAMATH_SPARSE_PATTERNRANGE_H    14 #include <myramath/MYRAMATH_EXPORT.h>    25 class PatternIterator;
    26 template<
class T> 
class Array1;
    27 template<
class T> 
class Array2;
    48     typedef std::pair<PatternRange,PatternRange> Pair;
    54     PatternRange(
const int* in_Ao, 
const int* in_Ai, 
int I, 
int J);
    62     std::pair<int,int> size() 
const;
    65     int n_nonzeros() 
const;
    68     int n_nonzeros(
int j) 
const;
    71     bool test(
int i, 
int j) 
const;
    74     std::vector<int> pattern(
int j) 
const;
    94     PatternRange window(
int i0, 
int i1, 
int j0, 
int j1) 
const ;
   117     Pair split_top(
int i) 
const;
   126     Pair split_bottom(
int i) 
const;
   146     Pair split_left(
int j) 
const;
   155     Pair split_right(
int j) 
const;
   201     void j_initialize(
int jj);
   204     int i_initialize(
int ii);
   226 MYRAMATH_EXPORT std::ostream& operator << (std::ostream& out, 
const PatternRange& A);
 Container of values, allows random (i,j) access. 
Definition: Array2.h:30
const int * Ao
---------— Data members, all public ----------------— 
Definition: PatternRange.h:38
bool sliced
---------— Data members, all public ----------------— 
Definition: PatternRange.h:44
An iterator over a Pattern. 
Definition: PatternRange.h:178
const int * Ai
---------— Data members, all public ----------------— 
Definition: PatternRange.h:39
Represents an immutable view of a Pattern. 
Definition: PatternRange.h:31
Abstraction layer, serializable objects write themselves to these. 
Definition: Streams.h:39
int I1
---------— Data members, all public ----------------— 
Definition: PatternRange.h:42
Holds the nonzero pattern of a sparse matrix. 
Definition: Pattern.h:55
Container of values, allows random (i) access. 
Definition: Array1.h:32
int J1
---------— Data members, all public ----------------— 
Definition: PatternRange.h:43
Represents a const intRange. 
Definition: intRange.h:142