Skip to content

Commit

Permalink
Fix stack initialization
Browse files Browse the repository at this point in the history
This fixes a bug where on line 278 the Stack::staticEvals are
initialized to 0. However VALUE_NONE is defined to be 32002 so
this is a bug in master. It is probably due to the calculation
of improvement, where staticEval prior to rootPos can be accessed.

https://tests.stockfishchess.org/tests/view/63ab91cf39af998100ce1666
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 53736 W: 14285 L: 13955 D: 25496
Ptnml(0-2): 121, 5921, 14500, 6159, 167

https://tests.stockfishchess.org/tests/view/63b2af5ee28ed36c814bed52
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 33776 W: 9130 L: 8934 D: 15712
Ptnml(0-2): 14, 3240, 10185, 3434, 15

closes #4320

Bench: 4068510
  • Loading branch information
mstembera authored and snicolet committed Jan 4, 2023
1 parent fc5b59b commit 9fe9ff0
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion src/search.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -276,8 +276,11 @@ void Thread::search() {
int iterIdx = 0;

std::memset(ss-7, 0, 10 * sizeof(Stack));
for (int i = 7; i > 0; i--)
for (int i = 7; i > 0; --i)
{
(ss-i)->continuationHistory = &this->continuationHistory[0][0][NO_PIECE][0]; // Use as a sentinel
(ss-i)->staticEval = VALUE_NONE;
}

for (int i = 0; i <= MAX_PLY + 2; ++i)
(ss+i)->ply = i;
Expand Down

0 comments on commit 9fe9ff0

Please sign in to comment.