/** Displays bounds of every empty cell in current state. Bounds are obtained from the current hashtable. */ void DfpnCommands::CmdGetBounds(HtpCommand& cmd) { cmd.CheckNuArg(1); HexColor colorToMove = HtpUtil::ColorArg(cmd, 0); HexState state(m_game.Board(), colorToMove); for (BitsetIterator it(state.Position().GetEmpty()); it; ++it) { state.PlayMove(*it); DfpnData data; if (m_positions.Get(state, data)) { cmd << ' ' << *it << ' '; if (data.m_bounds.IsWinning()) cmd << 'L'; else if (data.m_bounds.IsLosing()) cmd << 'W'; else cmd << data.m_bounds.phi << ':' << data.m_bounds.delta; } state.UndoMove(*it); } }
void DfpnCommands::CmdEvaluationInfo(HtpCommand& cmd) { cmd.CheckNuArg(0); cmd << m_solver.EvaluationInfo(); }
/** Prints histogram of last search. */ void DfsCommands::CmdHistogram(HtpCommand& cmd) { cmd.CheckNuArg(0); cmd << m_solver.Histogram().Write(); }