Skip to content

Commit

Permalink
Remove pawn history from ProbCut constructor
Browse files Browse the repository at this point in the history
use same style as other history tables

Passed STC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 184672 W: 46953 L: 46896 D: 90823
Ptnml(0-2): 604, 21095, 48887, 21140, 610
https://tests.stockfishchess.org/tests/view/654766b4136acbc573526602

closes #4865

No functional change
  • Loading branch information
Taras Vuk authored and vondele committed Nov 7, 2023
1 parent 442c294 commit d0e8710
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 16 deletions.
13 changes: 5 additions & 8 deletions src/movepick.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ MovePicker::MovePicker(const Position& p,
const ButterflyHistory* mh,
const CapturePieceToHistory* cph,
const PieceToHistory** ch,
const PawnHistory& ph,
const PawnHistory* ph,
Move cm,
const Move* killers) :
pos(p),
Expand All @@ -112,7 +112,7 @@ MovePicker::MovePicker(const Position& p,
const ButterflyHistory* mh,
const CapturePieceToHistory* cph,
const PieceToHistory** ch,
const PawnHistory& ph,
const PawnHistory* ph,
Square rs) :
pos(p),
mainHistory(mh),
Expand All @@ -129,11 +129,9 @@ MovePicker::MovePicker(const Position& p,

// Constructor for ProbCut: we generate captures with SEE greater
// than or equal to the given threshold.
MovePicker::MovePicker(
const Position& p, Move ttm, Value th, const CapturePieceToHistory* cph, const PawnHistory& ph) :
MovePicker::MovePicker(const Position& p, Move ttm, Value th, const CapturePieceToHistory* cph) :
pos(p),
captureHistory(cph),
pawnHistory(ph),
ttMove(ttm),
threshold(th) {
assert(!pos.checkers());
Expand Down Expand Up @@ -188,6 +186,7 @@ void MovePicker::score() {
m.value += (*continuationHistory[2])[pc][to] / 4;
m.value += (*continuationHistory[3])[pc][to];
m.value += (*continuationHistory[5])[pc][to];
m.value += (*pawnHistory)[pawn_structure(pos)][pc][to];

// bonus for checks
m.value += bool(pos.check_squares(pt) & to) * 16384;
Expand All @@ -209,8 +208,6 @@ void MovePicker::score() {
: pt != PAWN ? bool(to & threatenedByPawn) * 15000
: 0)
: 0;

m.value += pawnHistory[pawn_structure(pos)][pc][to];
}

else // Type == EVASIONS
Expand All @@ -221,7 +218,7 @@ void MovePicker::score() {
else
m.value = (*mainHistory)[pos.side_to_move()][from_to(m)]
+ (*continuationHistory[0])[pos.moved_piece(m)][to_sq(m)]
+ pawnHistory[pawn_structure(pos)][pos.moved_piece(m)][to_sq(m)];
+ (*pawnHistory)[pawn_structure(pos)][pos.moved_piece(m)][to_sq(m)];
}
}

Expand Down
8 changes: 4 additions & 4 deletions src/movepick.h
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ class MovePicker {
const ButterflyHistory*,
const CapturePieceToHistory*,
const PieceToHistory**,
const PawnHistory&,
const PawnHistory*,
Move,
const Move*);
MovePicker(const Position&,
Expand All @@ -153,9 +153,9 @@ class MovePicker {
const ButterflyHistory*,
const CapturePieceToHistory*,
const PieceToHistory**,
const PawnHistory&,
const PawnHistory*,
Square);
MovePicker(const Position&, Move, Value, const CapturePieceToHistory*, const PawnHistory&);
MovePicker(const Position&, Move, Value, const CapturePieceToHistory*);
Move next_move(bool skipQuiets = false);

private:
Expand All @@ -170,7 +170,7 @@ class MovePicker {
const ButterflyHistory* mainHistory;
const CapturePieceToHistory* captureHistory;
const PieceToHistory** continuationHistory;
const PawnHistory& pawnHistory;
const PawnHistory* pawnHistory;
Move ttMove;
ExtMove refutations[3], *cur, *endMoves, *endBadCaptures;
int stage;
Expand Down
7 changes: 3 additions & 4 deletions src/search.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -855,8 +855,7 @@ Value search(Position& pos, Stack* ss, Value alpha, Value beta, Depth depth, boo
{
assert(probCutBeta < VALUE_INFINITE);

MovePicker mp(pos, ttMove, probCutBeta - ss->staticEval, &captureHistory,
thisThread->pawnHistory);
MovePicker mp(pos, ttMove, probCutBeta - ss->staticEval, &captureHistory);

while ((move = mp.next_move()) != MOVE_NONE)
if (move != excludedMove && pos.legal(move))
Expand Down Expand Up @@ -915,7 +914,7 @@ Value search(Position& pos, Stack* ss, Value alpha, Value beta, Depth depth, boo
prevSq != SQ_NONE ? thisThread->counterMoves[pos.piece_on(prevSq)][prevSq] : MOVE_NONE;

MovePicker mp(pos, ttMove, depth, &thisThread->mainHistory, &captureHistory, contHist,
thisThread->pawnHistory, countermove, ss->killers);
&thisThread->pawnHistory, countermove, ss->killers);

value = bestValue;
moveCountPruning = singularQuietLMR = false;
Expand Down Expand Up @@ -1484,7 +1483,7 @@ Value qsearch(Position& pos, Stack* ss, Value alpha, Value beta, Depth depth) {
// will be generated.
Square prevSq = is_ok((ss - 1)->currentMove) ? to_sq((ss - 1)->currentMove) : SQ_NONE;
MovePicker mp(pos, ttMove, depth, &thisThread->mainHistory, &thisThread->captureHistory,
contHist, thisThread->pawnHistory, prevSq);
contHist, &thisThread->pawnHistory, prevSq);

int quietCheckEvasions = 0;

Expand Down

0 comments on commit d0e8710

Please sign in to comment.