static void doStraightTable(void) { int i; MakeTable_begin("straightTable", ST_FILENAME, "uint8", StdDeck_N_RANKMASKS); MakeTable_comment(ST_COMMENT_STRING); for (i=0; i < StdDeck_N_RANKMASKS; i++) MakeTable_outputUInt8(straight_func(i)); MakeTable_end(); }
static void doStraightValueTable(void) { int i; MakeTable_begin("evxStrValueTable", SV_FILENAME, "uint32", StdDeck_N_RANKMASKS); MakeTable_comment(SV_COMMENT_STRING); for (i=0; i < StdDeck_N_RANKMASKS; i++) { uint32 sv, val; sv = straight_func(i); val = sv ? (1 << sv) | EvxHandVal_STRAIGHT : 0; MakeTable_outputUInt32(val); }; MakeTable_end(); }
static void doNBitsAndStrTable(void) { int i; uint8 val, t; MakeTable_begin("nBitsAndStrTable", NBS_FILENAME, "uint8", StdDeck_N_RANKMASKS); MakeTable_comment(NBS_COMMENT_STRING); for (i=0; i < StdDeck_N_RANKMASKS; i++) { val = n_bits_func(i); assert((val & 0xF0) == 0); t = straight_func(i); MakeTable_outputUInt8((val << 2) | (((t != 0) & 0x01) << 1) | ((val >= 5) & 0x01) ); }; MakeTable_end(); }