my $cp = $info->{'score_cp1'} // $info->{'score_cp'};
my $mate = $info->{'score_mate1'} // $info->{'score_mate'};
my $splicepos = $info->{'splicepos1'} // $info->{'splicepos'};
- push @{$info->{'lowdepth'}}, [ $d, $cp, $mate, $splicepos ];
+ my $bestmove;
+ if (defined($info->{'pv1'})) { # Avoid autovivification.
+ $bestmove = $info->{'pv1'}[0];
+ } else {
+ $bestmove = $info->{'pv'}[0];
+ }
+ push @{$info->{'lowdepth'}}, [ $d, $cp, $mate, $splicepos, $bestmove ];
}
}
$json->{'lowdepth'} = {};
if (exists($info->{'lowdepth'})) {
for my $ld (@{$info->{'lowdepth'}}) {
- $json->{'lowdepth'}{$ld->[0]} = score_digest_inner($ld->[1], $ld->[2], $ld->[3], 0, $pos_calculating);
+ my $score = score_digest_inner($ld->[1], $ld->[2], $ld->[3], 0, $pos_calculating);
+ push @$score, prettyprint_pv($pos_calculating, $ld->[4]);
+ $json->{'lowdepth'}{$ld->[0]} = $score;
}
}