summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
79b1a74)
After 8751 games on russian cluster
Mod- Orig: 1426 - 1323 - 6002 ELO +4 (+- 2.9) LOS 86%
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Value refinedValue, nullValue, futilityBase, futilityValueScaled; // Non-PV specific
bool isPvMove, isCheck, singleEvasion, singularExtensionNode, moveIsCheck, captureOrPromotion, dangerous;
bool mateThreat = false;
Value refinedValue, nullValue, futilityBase, futilityValueScaled; // Non-PV specific
bool isPvMove, isCheck, singleEvasion, singularExtensionNode, moveIsCheck, captureOrPromotion, dangerous;
bool mateThreat = false;
+ int moveCount = 0, playedMoveCount = 0;
int threadID = pos.thread();
SplitPoint* sp = NULL;
int threadID = pos.thread();
SplitPoint* sp = NULL;
else if (move == excludedMove)
continue;
else
else if (move == excludedMove)
continue;
else
- movesSearched[moveCount++] = move;
// Step 13. Make the move
pos.do_move(move, st, ci, moveIsCheck);
// Step 13. Make the move
pos.do_move(move, st, ci, moveIsCheck);
+ if (!SpNode && !captureOrPromotion)
+ movesSearched[playedMoveCount++] = move;
+
// Step extra. pv search (only in PV nodes)
// The first move in list is the expected PV
if (isPvMove)
// Step extra. pv search (only in PV nodes)
// The first move in list is the expected PV
if (isPvMove)
if ( bestValue >= beta
&& !pos.move_is_capture_or_promotion(move))
{
if ( bestValue >= beta
&& !pos.move_is_capture_or_promotion(move))
{
- update_history(pos, move, depth, movesSearched, moveCount);
+ update_history(pos, move, depth, movesSearched, playedMoveCount);
update_killers(move, ss->killers);
}
}
update_killers(move, ss->killers);
}
}
- if (!pos.move_is_capture_or_promotion(m))
- H.update(pos.piece_on(move_from(m)), move_to(m), -bonus);
+ H.update(pos.piece_on(move_from(m)), move_to(m), -bonus);
void update_killers(Move m, Move killers[]) {
void update_killers(Move m, Move killers[]) {
- if (m == killers[0])
- return;
-
- killers[1] = killers[0];
- killers[0] = m;
+ if (m != killers[0])
+ {
+ killers[1] = killers[0];
+ killers[0] = m;
+ }