public static long eval(CardSet cs) { final long enc = HandEvaluator.encode(cs); int val = 0; switch (cs.size()) { case 2: final int r0 = cs.get(0).getRank().ordinal(); final int r1 = cs.get(1).getRank().ordinal(); final int s0 = cs.get(0).getSuit().ordinal(); final int s1 = cs.get(1).getSuit().ordinal(); if (r0 == r1) { val = 1 << 9; } val |= Math.max(r0, r1) << 5; val |= Math.min(r0, r1) << 1; if (s0 == s1) { val |= 1; } break; case 5: val = HandEvaluator.hand5Eval(enc); break; case 6: val = HandEvaluator.hand6Eval(enc); break; case 7: val = HandEvaluator.hand7Eval(enc); break; } return val; }