45 Pattern(
int type, dim_t numOutput, dim_t numInput, index_t* ptr,
50 Pattern_ptr unrollBlocks(
int newType, dim_t outputBlockSize,
51 dim_t inputBlockSize);
53 Pattern_ptr getSubpattern(dim_t newNumRows, dim_t newNumCols,
54 const index_t* rowList,
55 const index_t* newColIndex)
const;
58 void mis(index_t* mis_marker)
const;
60 void reduceBandwidth(index_t* oldToNew);
66 index_t* borrowMainDiagonalPointer();
68 static Pattern_ptr fromIndexListArray(dim_t n0, dim_t n,
70 index_t range_min, index_t range_max, index_t index_offset);
72 index_t* borrowColoringPointer();
74 dim_t getBandwidth(index_t* label)
const;
78 return (!ptr && !index);
84 borrowColoringPointer();
95 for (dim_t i = 0; i < numInput; ++i) {
96 loc_deg=std::max(loc_deg, ptr[i+1]-ptr[i]);
100 deg = std::max(deg, loc_deg);
112 "Paso: Harwell-Boeing format requires CSR format with index offset 1 and block size 1.");
115 if ( !(hb_row == NULL && hb_col == NULL) ) {
119 hb_row =
new index_t[len];
120 hb_col =
new index_t[len];
121 for (dim_t i=0, k=0; i<numOutput; i++)
123 for (dim_t j=ptr[i]; j<ptr[i+1]; j++, k++)
126 hb_col[k] = index[j-1];