mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 08:43:09 +00:00
Fix rootComplexity calculation
The calculation of rootComplexity can't call eval when in check. Doing so triggers an assert if compiled in debug mode when the rootpos is evaluated using classical eval. Fixes https://github.com/official-stockfish/Stockfish/issues/4512 Passed STC: https://tests.stockfishchess.org/tests/view/6432697431feee5c6d306876 LLR: 2.93 (-2.94,2.94) <-1.75,0.25> Total: 41096 W: 11017 L: 10815 D: 19264 Ptnml(0-2): 113, 4172, 11780, 4366, 117 Running LTC: https://tests.stockfishchess.org/tests/view/6432974d31feee5c6d306fc0 LLR: 1.76 (-2.94,2.94) <-1.75,0.25> Total: 73200 W: 19792 L: 19728 D: 33680 Ptnml(0-2): 24, 6659, 23182, 6699, 36 closes https://github.com/official-stockfish/Stockfish/pull/4515 No functional change
This commit is contained in:
parent
59f2085469
commit
b36d39de3d
3 changed files with 9 additions and 4 deletions
|
@ -1048,6 +1048,8 @@ make_v:
|
|||
|
||||
Value Eval::evaluate(const Position& pos, int* complexity) {
|
||||
|
||||
assert(!pos.checkers());
|
||||
|
||||
Value v;
|
||||
Value psq = pos.psq_eg_stm();
|
||||
|
||||
|
|
|
@ -295,10 +295,12 @@ void Thread::search() {
|
|||
if (mainThread)
|
||||
{
|
||||
|
||||
int rootComplexity;
|
||||
Eval::evaluate(rootPos, &rootComplexity);
|
||||
|
||||
mainThread->complexity = std::min(1.03 + (rootComplexity - 241) / 1552.0, 1.45);
|
||||
if (!rootPos.checkers())
|
||||
{
|
||||
int rootComplexity;
|
||||
Eval::evaluate(rootPos, &rootComplexity);
|
||||
mainThread->complexity = std::min(1.03 + (rootComplexity - 241) / 1552.0, 1.45);
|
||||
}
|
||||
|
||||
if (mainThread->bestPreviousScore == VALUE_INFINITE)
|
||||
for (int i = 0; i < 4; ++i)
|
||||
|
|
|
@ -160,6 +160,7 @@ void ThreadPool::clear() {
|
|||
main()->bestPreviousScore = VALUE_INFINITE;
|
||||
main()->bestPreviousAverageScore = VALUE_INFINITE;
|
||||
main()->previousTimeReduction = 1.0;
|
||||
main()->complexity = 1.0;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue