4 const unsigned ptFactor,
5 const unsigned qualFactor)
12 m_qualFactor(qualFactor) {
30 :
MicroGMTLUT(lut), m_ptMask(0), m_qualMask(0), m_ptInWidth(9), m_qualInWidth(4), m_ptFactor(0), m_qualFactor(0) {
46 return data((
unsigned)hashInput(checkedInput(pt, m_ptInWidth), checkedInput(qual, m_qualInWidth)));
50 result = pt * m_ptFactor + qual * m_qualFactor;
57 return data((
unsigned)in);
62 unHashInput(in, pt, qual);
63 return lookup(pt, qual);
69 result += qual << m_ptInWidth;
74 pt = input & m_ptMask;
75 qual = (input & m_qualMask) >> m_ptInWidth;
int load(const std::string &inFileName)
std::vector< MicroGMTConfiguration::input_t > m_inputs
static std::string const input
int hashInput(int pt, int qual) const
int lookup(int pt, int qual) const
int lookupPacked(int in) const override
char data[epos_bytes_allocation]
void unHashInput(int input, int &pt, int &qual) const