28 #ifndef __PASO_PATTERN_H__ 29 #define __PASO_PATTERN_H__ 32 #include <esysUtils/IndexList.h> 41 struct Pattern : boost::enable_shared_from_this<Pattern>
49 dim_t inputBlockSize);
53 const index_t* newColIndex)
const;
60 Pattern_ptr
multiply(
int type, const_Pattern_ptr other)
const;
62 Pattern_ptr
binop(
int type, const_Pattern_ptr other)
const;
76 return (!ptr && !index);
94 loc_deg=std::max(loc_deg, ptr[i+1]-ptr[i]);
98 deg = std::max(deg, loc_deg);
127 #endif // __PASO_PATTERN_H__ Pattern_ptr binop(int type, const_Pattern_ptr other) const
Definition: Pattern.cpp:343
boost::shared_ptr< Pattern > Pattern_ptr
Definition: Pattern.h:36
dim_t maxDeg() const
Definition: Pattern.h:86
#define PASO_DLL_API
Definition: Paso.h:41
dim_t numColors
Definition: Pattern.h:119
Pattern_ptr multiply(int type, const_Pattern_ptr other) const
Definition: Pattern.cpp:321
bool isEmpty() const
Definition: Pattern.h:74
index_t * ptr
Definition: Pattern.h:113
void mis(index_t *mis_marker) const
Searches for a maximal independent set MIS in the matrix pattern.
Definition: Pattern_mis.cpp:47
dim_t numOutput
Definition: Pattern.h:107
index_t * borrowColoringPointer()
Definition: Pattern.cpp:166
dim_t numInput
Definition: Pattern.h:109
boost::shared_ptr< const Pattern > const_Pattern_ptr
Definition: Pattern.h:38
void reduceBandwidth(index_t *oldToNew)
Definition: Pattern_reduceBandwidth.cpp:151
Definition: esysUtils/src/IndexList.h:39
dim_t getNumColors()
Definition: Pattern.h:79
int type
Definition: Pattern.h:105
index_t * coloring
Definition: Pattern.h:121
int index_t
Definition: types.h:24
~Pattern()
Definition: Pattern.cpp:91
index_t * borrowMainDiagonalPointer()
Definition: Pattern.cpp:139
Pattern(int type, dim_t numOutput, dim_t numInput, index_t *ptr, index_t *index)
Definition: Pattern.cpp:36
index_t * main_iptr
Definition: Pattern.h:117
Pattern_ptr getSubpattern(dim_t newNumRows, dim_t newNumCols, const index_t *rowList, const index_t *newColIndex) const
Definition: Pattern.cpp:199
index_t dim_t
Definition: types.h:27
dim_t len
Definition: Pattern.h:111
index_t * index
Definition: Pattern.h:115
Pattern_ptr unrollBlocks(int newType, dim_t outputBlockSize, dim_t inputBlockSize)
Definition: Pattern.cpp:254
static Pattern_ptr fromIndexListArray(dim_t n0, dim_t n, const esysUtils::IndexList *index_list_array, index_t range_min, index_t range_max, index_t index_offset)
Definition: Pattern.cpp:100
dim_t getBandwidth(index_t *label) const
Definition: Pattern_reduceBandwidth.cpp:41