nrb
55  NT * num; // contains numerical values, size nnz
56 
57  bool ispar;
58  IT nz; // # nonzeros
59  IT m; // # rows
60  IT n; // # columns
61  IT blcrange; // range indexed by one block
62 
63  IT nbc; // #{column blocks} = #{blocks in any block row}
64  IT nbr; // #{block rows)
65  IT nrb; // #{register blocks}
66 
67  IT rowlowbits; // # lower order bits for rows
68  IT rowhighbits;
69  IT highrowmask; // mask with the first log(m)/2 bits = 1 and the other bits = 0
70  IT lowrowmask;
71 
72  IT collowbits; // # lower order bits for columns
73  IT colhighbits;
74  IT highcolmask; // mask with the first log(n)/2 bits = 1 and the other bits = 0
75  IT lowcolmask;
76 
77  MortonCompare<IT> mortoncmp; // comparison operator w.r.t. the (inverted N)-morton layout
78 
79  template <typename NU, typename IU, unsigned UUDIM>
80  friend void bmcsb_gespmv (const BmCsb<NU, IU, UUDIM> & A, const NU * x, NU * y);
81 
82  template <class CSB>
83  friend float RowImbalance(const CSB & A); // befriend any CSB instantiation
84 };
85 
86 
87 #include "friends.h"
88 #include "bmcsb.cpp"
89 #endif
BmCsb::rowsize
IT rowsize() const
Definition: bmcsb.h:33
BmCsb
Definition: bmcsb.h:21
bmcsb.cpp
mortoncompare.h
BmCsb::colsize