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