28 std::cerr <<
"RecordStack\n";
29 for (
size_t i=0; i<data.size(); ++i) {
31 std::cerr << std::endl;
49 osl::CArray<int, osl::search::SearchState2Core::MaxDepth>
55 : current_state(s), checkmate_searcher(&c),
56 current_path(s.turn()), root_depth(0),
70 if (&root_state != &s)
78 catch (std::bad_alloc&)
80 std::cerr <<
"panic. allocation of SearchState2Shared failed\n";
87 current_state = root_state;
88 current_path =
PathEncoding(current_state.turn(), move_history.size());
89 repetition_counter.clear();
90 const HashKey key(current_state);
91 repetition_counter.push(key, current_state);
101 current_path =
PathEncoding(current_path.turn(), h.size());
102 root_depth = history().size();
113 catch (std::bad_alloc&)
115 std::cerr <<
"panic. allocation of SearchState2Shared failed\n";
117 shared->bigram_killers = killers;
123 return abort(
Move());
129 std::cerr << state();
135 std::cerr <<
"record " << record <<
"\n";
138 record->
dump(std::cerr);
141 repetition_counter.history().dump();
150 parent.push_back(pv.begin(), pv.end());
152 NumEffectState s = state();
153 BOOST_FOREACH(
Move p, parent) {
154 if (! p.
isPass() && ! s.isValidMove(p)) {
155 std::cerr <<
"best move error " << p <<
" " << i <<
"\n";
156 std::cerr << state();
157 BOOST_FOREACH(
Move q, parent)
158 std::cerr << q <<
" ";
163 ApplyMoveOfTurn::doMove(s, p);
193 root_limit = cur_limit = 0;
205 std::cerr <<
"cur limit " << cur_limit
206 <<
" root limit " << root_limit <<
"\n";