int CardSet::suitMask(const Suit& s) const { return SMASK(s.code()); }
bool CardSet::contains(const Suit& s) const { if (SMASK(s.code()) > 0) return true; return false; }
size_t CardSet::count(const Suit& s) const { return nRanksTable[SMASK(s.code())]; }
Rank CardSet::flushRank(const Suit& s) const { return Rank(topRankTable[SMASK(s.code())]); }
uint8_t Card::encode(Rank r, Suit s) { return r.code() + s.code() * Rank::NUM_RANK; }