mirror of
https://github.com/sockspls/badfish
synced 2025-04-29 16:23:09 +00:00
Send again all the PV lines in multiPV searching
Partially revert 1036cadcec
because UCI protocol
in case of multipv explicitly requires:
for the best move/pv add "multipv 1" in the string when you send the pv.
in k-best mode always send all k variants in k strings together.
Thanks to Justin Blanchard for pointing this out.
No functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
325dedc7da
commit
a3bf09c5c9
1 changed files with 17 additions and 6 deletions
|
@ -584,16 +584,27 @@ namespace {
|
|||
break;
|
||||
|
||||
// Send full PV info to GUI if we are going to leave the loop or
|
||||
// if we have a fail high/low and we are deep in the search.
|
||||
if ((value > alpha && value < beta) || current_search_time() > 2000)
|
||||
for (int i = 0; i < Min(UCIMultiPV, MultiPVIteration + 1); i++)
|
||||
// if we have a fail high/low and we are deep in the search. Note
|
||||
// that UCI protol requires to send all the PV lines also if are
|
||||
// still to be searched and so refer to the previous search's score.
|
||||
if ((value > alpha && value < beta) || current_search_time() > 5000)
|
||||
for (int i = 0; i < Min(UCIMultiPV, (int)Rml.size()); i++)
|
||||
{
|
||||
bool updated = (i <= MultiPVIteration);
|
||||
|
||||
if (depth == 1 && !updated)
|
||||
continue;
|
||||
|
||||
Depth d = (updated ? depth : depth - 1) * ONE_PLY;
|
||||
Value s = (updated ? Rml[i].score : Rml[i].prevScore);
|
||||
|
||||
cout << "info"
|
||||
<< depth_to_uci(depth * ONE_PLY)
|
||||
<< (i == MultiPVIteration ? score_to_uci(Rml[i].score, alpha, beta) :
|
||||
score_to_uci(Rml[i].score))
|
||||
<< depth_to_uci(d)
|
||||
<< (i == MultiPVIteration ? score_to_uci(s, alpha, beta) : score_to_uci(s))
|
||||
<< speed_to_uci(pos.nodes_searched())
|
||||
<< pv_to_uci(&Rml[i].pv[0], i + 1, pos.is_chess960())
|
||||
<< endl;
|
||||
}
|
||||
|
||||
// In case of failing high/low increase aspiration window and research,
|
||||
// otherwise exit the fail high/low loop.
|
||||
|
|
Loading…
Add table
Reference in a new issue