mirror of
https://github.com/sockspls/badfish
synced 2025-07-11 19:49:14 +00:00
Simplify latest patches
No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
26e7673c18
commit
62c707e1d5
1 changed files with 8 additions and 16 deletions
|
@ -297,7 +297,6 @@ namespace {
|
||||||
Value value_to_tt(Value v, int ply);
|
Value value_to_tt(Value v, int ply);
|
||||||
Value value_from_tt(Value v, int ply);
|
Value value_from_tt(Value v, int ply);
|
||||||
bool ok_to_use_TT(const TTEntry* tte, Depth depth, Value beta, int ply);
|
bool ok_to_use_TT(const TTEntry* tte, Depth depth, Value beta, int ply);
|
||||||
bool ok_to_use_TT_PV(const TTEntry* tte, Depth depth, Value alpha, Value beta, int ply);
|
|
||||||
bool connected_threat(const Position& pos, Move m, Move threat);
|
bool connected_threat(const Position& pos, Move m, Move threat);
|
||||||
Value refine_eval(const TTEntry* tte, Value defaultEval, int ply);
|
Value refine_eval(const TTEntry* tte, Value defaultEval, int ply);
|
||||||
void update_history(const Position& pos, Move move, Depth depth, Move movesSearched[], int moveCount);
|
void update_history(const Position& pos, Move move, Depth depth, Move movesSearched[], int moveCount);
|
||||||
|
@ -839,10 +838,13 @@ namespace {
|
||||||
tte = TT.retrieve(posKey);
|
tte = TT.retrieve(posKey);
|
||||||
ttMove = tte ? tte->move() : MOVE_NONE;
|
ttMove = tte ? tte->move() : MOVE_NONE;
|
||||||
|
|
||||||
// At PV nodes we check for exact scores within (alha, beta) range, while
|
// At PV nodes we check for exact scores, while at non-PV nodes we check for
|
||||||
// at non-PV nodes we check for and return a fail high/low. Biggest advantage
|
// and return a fail high/low. Biggest advantage at probing at PV nodes is
|
||||||
// at probing at PV nodes is to have a smooth experience in analysis mode.
|
// to have a smooth experience in analysis mode.
|
||||||
if (!Root && tte && (PvNode ? ok_to_use_TT_PV(tte, depth, alpha, beta, ply) : ok_to_use_TT(tte, depth, beta, ply)))
|
if ( !Root
|
||||||
|
&& tte
|
||||||
|
&& (PvNode ? tte->depth() >= depth && tte->type() == VALUE_TYPE_EXACT
|
||||||
|
: ok_to_use_TT(tte, depth, beta, ply)))
|
||||||
{
|
{
|
||||||
TT.refresh(tte);
|
TT.refresh(tte);
|
||||||
ss->bestMove = ttMove; // Can be MOVE_NONE
|
ss->bestMove = ttMove; // Can be MOVE_NONE
|
||||||
|
@ -1794,9 +1796,7 @@ split_point_start: // At split points actual search starts from here
|
||||||
|
|
||||||
|
|
||||||
// ok_to_use_TT() returns true if a transposition table score
|
// ok_to_use_TT() returns true if a transposition table score
|
||||||
// can be used at a given point in search. There are two versions
|
// can be used at a given point in search.
|
||||||
// one to be used in non-PV nodes and one in PV nodes where we look
|
|
||||||
// for an exact score that falls between (alha, beta) boundaries.
|
|
||||||
|
|
||||||
bool ok_to_use_TT(const TTEntry* tte, Depth depth, Value beta, int ply) {
|
bool ok_to_use_TT(const TTEntry* tte, Depth depth, Value beta, int ply) {
|
||||||
|
|
||||||
|
@ -1810,14 +1810,6 @@ split_point_start: // At split points actual search starts from here
|
||||||
|| ((tte->type() & VALUE_TYPE_UPPER) && v < beta));
|
|| ((tte->type() & VALUE_TYPE_UPPER) && v < beta));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ok_to_use_TT_PV(const TTEntry* tte, Depth depth, Value alpha, Value beta, int ply) {
|
|
||||||
|
|
||||||
Value v = value_from_tt(tte->value(), ply);
|
|
||||||
|
|
||||||
return tte->depth() >= depth
|
|
||||||
&& tte->type() == VALUE_TYPE_EXACT;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// refine_eval() returns the transposition table score if
|
// refine_eval() returns the transposition table score if
|
||||||
// possible otherwise falls back on static position evaluation.
|
// possible otherwise falls back on static position evaluation.
|
||||||
|
|
Loading…
Add table
Reference in a new issue