X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fsearch.cpp;h=f47e601bfaa9651db0cfe55fe40ab20ad7352b96;hp=be9f108a3a0e2ce90769200d89dfb97757c3f63e;hb=a6c5f60caaa834dcc755aafb464c12f7f5d52567;hpb=bf90499fc33a4e2e5af694b11e9a8f145bf82d2c diff --git a/src/search.cpp b/src/search.cpp index be9f108a..f47e601b 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -298,7 +298,7 @@ namespace { int depth, prevBestMoveChanges; Value bestValue, alpha, beta, delta; - memset(ss-1, 0, 4 * sizeof(Stack)); + std::memset(ss-1, 0, 4 * sizeof(Stack)); (ss-1)->currentMove = MOVE_NULL; // Hack to skip update gains depth = BestMoveChanges = 0; @@ -1126,7 +1126,7 @@ moves_loop: // When in check and at SpNode search starts from here Key posKey; Move ttMove, move, bestMove; Value bestValue, value, ttValue, futilityValue, futilityBase, oldAlpha; - bool givesCheck, enoughMaterial, evasionPrunable; + bool givesCheck, evasionPrunable; Depth ttDepth; // To flag BOUND_EXACT a node with eval above alpha and no available moves @@ -1168,7 +1168,6 @@ moves_loop: // When in check and at SpNode search starts from here { ss->staticEval = ss->evalMargin = VALUE_NONE; bestValue = futilityBase = -VALUE_INFINITE; - enoughMaterial = false; } else { @@ -1196,7 +1195,6 @@ moves_loop: // When in check and at SpNode search starts from here alpha = bestValue; futilityBase = ss->staticEval + ss->evalMargin + Value(128); - enoughMaterial = pos.non_pawn_material(pos.side_to_move()) > RookValueMg; } // Initialize a MovePicker object for the current position, and prepare @@ -1218,7 +1216,6 @@ moves_loop: // When in check and at SpNode search starts from here && !InCheck && !givesCheck && move != ttMove - && enoughMaterial && type_of(move) != PROMOTION && !pos.is_passed_pawn_push(move)) { @@ -1457,7 +1454,7 @@ moves_loop: // When in check and at SpNode search starts from here | (attacks_bb(m2to, occ) & pos.pieces(color_of(pc), QUEEN, BISHOP)); // Verify attackers are triggered by our move and not already existing - if (xray && (xray ^ (xray & pos.attacks_from(m2to)))) + if (xray && (xray & ~pos.attacks_from(m2to))) // Unlikely xray return true; } @@ -1676,7 +1673,7 @@ void Thread::idle_loop() { Stack stack[MAX_PLY_PLUS_2], *ss = stack+1; // To allow referencing (ss-1) Position pos(*sp->pos, this); - memcpy(ss-1, sp->ss-1, 4 * sizeof(Stack)); + std::memcpy(ss-1, sp->ss-1, 4 * sizeof(Stack)); ss->splitPoint = sp; sp->mutex.lock();