X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fsearch.cpp;h=9ae28d3c55870b554a5681782442dbbc3569b3c3;hb=c4533e0d94a273cc10e0530a2953d369c6afbb8e;hp=9143f6699192ba8ac9899dd6292081e947a67889;hpb=5769509d72ab59d1a1856d035c38d84ecdc6f687;p=stockfish diff --git a/src/search.cpp b/src/search.cpp index 9143f669..9ae28d3c 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -153,9 +153,8 @@ void Search::init() { // Init futility move count array for (d = 0; d < 32; d++) { - FutilityMoveCounts[1][d] = int(3.001 + 0.3 * pow(double(d), 1.8)); - FutilityMoveCounts[0][d] = d < 5 ? FutilityMoveCounts[1][d] - : 3 * FutilityMoveCounts[1][d] / 4; + FutilityMoveCounts[0][d] = int(3.001 + 0.3 * pow(double(d ), 1.8)) * (d < 5 ? 4 : 3) / 4; + FutilityMoveCounts[1][d] = int(3.001 + 0.3 * pow(double(d + 0.98), 1.8)); } } @@ -304,7 +303,7 @@ namespace { void id_loop(Position& pos) { - Stack stack[MAX_PLY_PLUS_3], *ss = stack+2; // To allow referencing (ss-2) + Stack stack[MAX_PLY_PLUS_6], *ss = stack+2; // To allow referencing (ss-2) int depth, prevBestMoveChanges; Value bestValue, alpha, beta, delta; @@ -664,7 +663,7 @@ namespace { // Step 8. Null move search with verification search (is omitted in PV nodes) if ( !PvNode && !ss->skipNullMove - && depth > ONE_PLY + && depth >= 2 * ONE_PLY && eval >= beta && abs(beta) < VALUE_MATE_IN_MAX_PLY && pos.non_pawn_material(pos.side_to_move())) @@ -1576,7 +1575,7 @@ moves_loop: // When in check and at SpNode search starts from here void RootMove::extract_pv_from_tt(Position& pos) { - StateInfo state[MAX_PLY_PLUS_3], *st = state; + StateInfo state[MAX_PLY_PLUS_6], *st = state; const TTEntry* tte; int ply = 0; Move m = pv[0]; @@ -1609,7 +1608,7 @@ void RootMove::extract_pv_from_tt(Position& pos) { void RootMove::insert_pv_in_tt(Position& pos) { - StateInfo state[MAX_PLY_PLUS_3], *st = state; + StateInfo state[MAX_PLY_PLUS_6], *st = state; const TTEntry* tte; int ply = 0; @@ -1684,7 +1683,7 @@ void Thread::idle_loop() { Threads.mutex.unlock(); - Stack stack[MAX_PLY_PLUS_3], *ss = stack+2; // To allow referencing (ss-2) + Stack stack[MAX_PLY_PLUS_6], *ss = stack+2; // To allow referencing (ss-2) Position pos(*sp->pos, this); std::memcpy(ss-2, sp->ss-2, 5 * sizeof(Stack));