Code: Select all
StateInfo st;
const TTEntry* tte;
Key posKey;
Move ttMove, move, bestMove;
Value bestValue, value, ttValue, futilityValue, futilityBase, oldAlpha;
bool givesCheck, evasionPrunable;
Depth ttDepth;
+++++++++++++++++++++++ from here
if ( depth >= TBProbeDepth
&& popcount<Full>(pos.pieces()) <= TBCardinality
&& pos.rule50_count() == 0
)
{
int found, v = Tablebases::probe_wdl(pos, &found);
if (found)
{
TBHits++;
if (TB50MoveRule) {
value = v < -1 ? -VALUE_MATE + MAX_PLY + ss->ply
: v > 1 ? VALUE_MATE - MAX_PLY - ss->ply
: VALUE_DRAW + 2 * v;
}
else
{
value = v < 0 ? -VALUE_MATE + MAX_PLY + ss->ply
: v > 0 ? VALUE_MATE - MAX_PLY - ss->ply
: VALUE_DRAW;
}
// Transposition table lookup
posKey = pos.key();
TT.store(posKey, value_to_tt(value, ss->ply), BOUND_EXACT,
depth + 6 * ONE_PLY, MOVE_NONE, VALUE_NONE);
return value;
}
}
+++++++++++++++++++++++++++++++++ to here
// To flag BOUND_EXACT a node with eval above alpha and no available moves
if (PvNode)
oldAlpha = alpha;
just clean this bonus (syzygy will take care of that) from
namespace {
....
}
Code: Select all
/*
// If booth have rook or rook vs Night/bishop looks for unstoppables
if (pos.non_pawn_material(WHITE) + pos.non_pawn_material(BLACK) == RookValueEg * 2)
score += evaluate_unstoppable_pawns(pos, WHITE, ei)
- evaluate_unstoppable_pawns(pos, BLACK, ei);
*/give 1.5 G hash or more (5 is too much) if you can to single engine.
I made some thousand games test and looks like score is better, to be honest i tried stripping endgame from material.cpp, but the best result comes from this configuration.
thanks you and please be patient
If you find a better place to put this block in qsearch please let me know, i m going blind in a one-eyed country
P.S. do you know how to suggest this as a poll in github? it's beyond me