mirror of
https://github.com/sockspls/badfish
synced 2025-04-29 16:23:09 +00:00
Rename futilityMargin in kingDanger in EvalInfo
This is what actually is. A standard naming convention suggests to name a variable with someting resembling _what_ the variable is and not _how_ the variable is used. This normally results in easier to read code. No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
b14846b6d7
commit
b95b1a9705
3 changed files with 12 additions and 14 deletions
|
@ -837,14 +837,13 @@ namespace {
|
|||
// out of bounds errors.
|
||||
attackUnits = Min(99, Max(0, attackUnits));
|
||||
|
||||
// Finally, extract the king danger score from the KingDangerTable[] array.
|
||||
// Subtract the score from evaluation, and set ei.futilityMargin[].
|
||||
// The reason for storing the king danger score to futility margin
|
||||
// is that the king danger scores can sometimes be very big, and that
|
||||
// capturing a single attacking piece can therefore result in a score
|
||||
// change far bigger than the value of the captured piece.
|
||||
// Finally, extract the king danger score from the KingDangerTable[]
|
||||
// array and subtract the score from evaluation. Set also ei.kingDanger[]
|
||||
// value that will be used for pruning because this value can sometimes
|
||||
// be very big, and so capturing a single attacking piece can therefore
|
||||
// result in a score change far bigger than the value of the captured piece.
|
||||
ei.value -= Sign[Us] * KingDangerTable[Us][attackUnits];
|
||||
ei.futilityMargin[Us] = mg_value(KingDangerTable[Us][attackUnits]);
|
||||
ei.kingDanger[Us] = mg_value(KingDangerTable[Us][attackUnits]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ class Position;
|
|||
|
||||
struct EvalInfo {
|
||||
|
||||
EvalInfo() { futilityMargin[0] = futilityMargin[1] = Value(0); }
|
||||
EvalInfo() { kingDanger[0] = kingDanger[1] = Value(0); }
|
||||
|
||||
// Middle game and endgame evaluations
|
||||
Score value;
|
||||
|
@ -95,9 +95,8 @@ struct EvalInfo {
|
|||
// Middle game and endgame mobility scores
|
||||
Score mobility;
|
||||
|
||||
// Extra futility margin. This is added to the standard futility margin
|
||||
// in the quiescence search. One for each color.
|
||||
Value futilityMargin[2];
|
||||
// Value of the danger for the king of the given color
|
||||
Value kingDanger[2];
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -1654,7 +1654,7 @@ namespace {
|
|||
if (bestValue >= beta)
|
||||
{
|
||||
// Store the score to avoid a future costly evaluation() call
|
||||
if (!isCheck && !tte && ei.futilityMargin[pos.side_to_move()] == 0)
|
||||
if (!isCheck && !tte && ei.kingDanger[pos.side_to_move()] == 0)
|
||||
TT.store(pos.get_key(), value_to_tt(bestValue, ply), VALUE_TYPE_EV_LO, Depth(-127*OnePly), MOVE_NONE);
|
||||
|
||||
return bestValue;
|
||||
|
@ -1673,7 +1673,7 @@ namespace {
|
|||
MovePicker mp = MovePicker(pos, ttMove, deepChecks ? Depth(0) : depth, H);
|
||||
CheckInfo ci(pos);
|
||||
enoughMaterial = pos.non_pawn_material(pos.side_to_move()) > RookValueMidgame;
|
||||
futilityBase = staticValue + FutilityMarginQS + ei.futilityMargin[pos.side_to_move()];
|
||||
futilityBase = staticValue + FutilityMarginQS + ei.kingDanger[pos.side_to_move()];
|
||||
|
||||
// Loop through the moves until no moves remain or a beta cutoff occurs
|
||||
while ( alpha < beta
|
||||
|
@ -1753,7 +1753,7 @@ namespace {
|
|||
{
|
||||
// If bestValue isn't changed it means it is still the static evaluation
|
||||
// of the node, so keep this info to avoid a future evaluation() call.
|
||||
ValueType type = (bestValue == staticValue && !ei.futilityMargin[pos.side_to_move()] ? VALUE_TYPE_EV_UP : VALUE_TYPE_UPPER);
|
||||
ValueType type = (bestValue == staticValue && !ei.kingDanger[pos.side_to_move()] ? VALUE_TYPE_EV_UP : VALUE_TYPE_UPPER);
|
||||
TT.store(pos.get_key(), value_to_tt(bestValue, ply), type, d, MOVE_NONE);
|
||||
}
|
||||
else if (bestValue >= beta)
|
||||
|
|
Loading…
Add table
Reference in a new issue