X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fevaluate.cpp;h=5586d64d0315ac1c68acd70103a5bd1bd44b823b;hp=e9feba06fe42a31b3b48979a0844aff19664ff23;hb=068561f86a3bac39398eeef87f7569d7067b9776;hpb=bd33766da0a00d9df69afcbf31a75d5f9972f1c8 diff --git a/src/evaluate.cpp b/src/evaluate.cpp index e9feba06..5586d64d 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -269,16 +269,13 @@ namespace { } -//// -//// Functions -//// - +/// prefetchTables() is called in do_move() to prefetch pawn and material +/// hash tables data that will be needed shortly after in evaluation. -/// Prefetches in pawn hash tables +void prefetchTables(Key pKey, Key mKey, int threadID) { -void prefetchPawn(Key key, int threadID) { - - PawnTable[threadID]->prefetch(key); + PawnTable[threadID]->prefetch(pKey); + MaterialTable[threadID]->prefetch(mKey); } @@ -1159,9 +1156,7 @@ namespace { assert(eg_value(v) > -VALUE_INFINITE && eg_value(v) < VALUE_INFINITE); assert(ph >= PHASE_ENDGAME && ph <= PHASE_MIDGAME); - Value eg = eg_value(v); - Value ev = Value((eg * int(sf)) / SCALE_FACTOR_NORMAL); - + int ev = (eg_value(v) * int(sf)) / SCALE_FACTOR_NORMAL; int result = (mg_value(v) * int(ph) + ev * int(128 - ph)) / 128; return Value((result + GrainSize / 2) & ~(GrainSize - 1)); }