Skip to content

v0.20.0

Choose a tag to compare

@github-actions github-actions released this 25 Oct 17:38
· 8 commits to main since this release
da6ce24

Added

  • Game::dead now reaches every street
  • Game::check_dead
  • Display for Game adds DEAD: … when dead is not empty

Changed

  • Table::build_game fills Game::dead from the table's muck

Fixed

  • The 0.19.0 entry below named Game::turn_remaining as API. It is
Full changelog

Added

  • Game::dead now reaches every street. In 0.19.0 only the turn used
    it. Now the preflop and the flop use it too:
    • Game::street_equities removes dead cards on the preflop, flop and
      turn. (The river has no cards left to deal.)
    • FlopEval::with_dead and CaseEvals::from_holdem_at_flop_with_dead
      skip every turn-and-river runout that uses a dead card.
      FlopEval::try_from(Game) uses them.
    • DealEval::with_dead sends the hands and the dead cards to the equity
      engine. It does not use the heads-up chart, because the chart assumes a
      full deck. An empty dead gives the same result as DealEval::new.
  • Game::check_dead returns PKError::DuplicateCard when a dead card is
    also in a hand or on the board. street_equities, TurnEval::try_from
    and FlopEval::try_from run it first. This is the same rule as
    EquityRequest::dead. with_dead itself does not check, and it replaces
    any earlier set. It does not add to it.
  • Display for Game adds DEAD: … when dead is not empty.

Changed

  • Table::build_game fills Game::dead from the table's muck, which
    holds the burn cards and every folded hand. So FlopEval, TurnEval and
    street_equities on a live table no longer count those cards as live.
    Odds from a table after a fold or a burn will differ from 0.19.0. That is
    the fix: the 0.19.0 numbers counted cards that cannot be dealt. See
    docs/defects/DEFECT_043_dead_cards_reach_only_the_turn.md.

Fixed

  • The 0.19.0 entry below named Game::turn_remaining as API. It is
    pub(crate), so it was removed from that entry.

Coverage

Lines Functions Regions
92.52% 90.46% 92.28%

Doc tests excluded — --doctests requires nightly, and this repo pins stable.

All commits since v0.19.0 (1)
  • da6ce24 Fix DEFECT_043: Game::dead reaches every street (0.20.0) (#153)