-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Description
hand.erl
test_rank_9(),
if add a test below, it's a straight_flush
?match({straight_flush, 2#00011111000000, 0}, ?score("AC QS JC TC 9C 8C 7C")),
a way to fix this bug, is modify the is_straight_flush like this:
is_straight_flush(Rep) ->
Temp = make_mask(Rep),
if
Temp band 2#10000000000000 > 0 ->
Value = Temp bor 1;
true ->
Value = Temp
end,
is_straight_flush(Value, 2#11111000000000, Rep).
is_straight_flush(_, Mask, Rep) when Mask < 2#11111 ->
junk;
is_straight_flush(Value, Mask, Rep) when Mask >= 2#11111 ->
if
Value band Mask =:= Mask ->
case is_flush(Mask, Rep) of
{_, High, _} ->
{straight_flush, High, 0};
_ ->
is_straight_flush(Value, Mask bsr 1, Rep)
end;
true ->
is_straight_flush(Value, Mask bsr 1, Rep)
end.
Metadata
Metadata
Assignees
Labels
No labels