mirror of
https://github.com/sockspls/badfish
synced 2025-05-01 01:03:09 +00:00
Reformat some comments
Also include the bench to make Continuation Integration happy on Github. Bench: 1603079
This commit is contained in:
parent
b9319c4fa4
commit
3f7fb5ac1d
1 changed files with 12 additions and 11 deletions
|
@ -928,7 +928,8 @@ moves_loop: // When in check, search starts here
|
|||
moveCountPruning = singularQuietLMR = false;
|
||||
|
||||
// Indicate PvNodes that will probably fail low if the node was searched
|
||||
// at a depth equal to or greater than the current depth, and the result of this search was a fail low.
|
||||
// at a depth equal to or greater than the current depth, and the result
|
||||
// of this search was a fail low.
|
||||
bool likelyFailLow = PvNode
|
||||
&& ttMove
|
||||
&& (tte->bound() & BOUND_UPPER)
|
||||
|
@ -1039,10 +1040,10 @@ moves_loop: // When in check, search starts here
|
|||
// Singular extension search (~94 Elo). If all moves but one fail low on a
|
||||
// search of (alpha-s, beta-s), and just one fails high on (alpha, beta),
|
||||
// then that move is singular and should be extended. To verify this we do
|
||||
// a reduced search on all the other moves but the ttMove and if the
|
||||
// result is lower than ttValue minus a margin, then we will extend the ttMove.
|
||||
// Depth margin and singularBeta margin are known for having non-linear scaling.
|
||||
// Their values are optimized to time controls of 180+1.8 and longer
|
||||
// a reduced search on all the other moves but the ttMove and if the result
|
||||
// is lower than ttValue minus a margin, then we will extend the ttMove. Note
|
||||
// that depth margin and singularBeta margin are known for having non-linear
|
||||
// scaling. Their values are optimized to time controls of 180+1.8 and longer
|
||||
// so changing them requires tests at this type of time controls.
|
||||
if ( !rootNode
|
||||
&& depth >= 4 - (thisThread->completedDepth > 22) + 2 * (PvNode && tte->is_pv())
|
||||
|
@ -1076,10 +1077,10 @@ moves_loop: // When in check, search starts here
|
|||
}
|
||||
|
||||
// Multi-cut pruning
|
||||
// Our ttMove is assumed to fail high, and now we failed high also on a reduced
|
||||
// search without the ttMove. So we assume this expected Cut-node is not singular,
|
||||
// that multiple moves fail high, and we can prune the whole subtree by returning
|
||||
// a softbound.
|
||||
// Our ttMove is assumed to fail high, and now we failed high also on a
|
||||
// reduced search without the ttMove. So we assume this expected cut-node
|
||||
// is not singular, that multiple moves fail high, and we can prune the
|
||||
// whole subtree by returning a softbound.
|
||||
else if (singularBeta >= beta)
|
||||
return singularBeta;
|
||||
|
||||
|
@ -1126,8 +1127,7 @@ moves_loop: // When in check, search starts here
|
|||
// Step 16. Make the move
|
||||
pos.do_move(move, st, givesCheck);
|
||||
|
||||
// Decrease reduction if position is or has been on the PV
|
||||
// and node is not likely to fail low. (~3 Elo)
|
||||
// Decrease reduction if position is or has been on the PV and not likely to fail low. (~3 Elo)
|
||||
// Decrease further on cutNodes. (~1 Elo)
|
||||
if ( ss->ttPv
|
||||
&& !likelyFailLow)
|
||||
|
@ -1162,6 +1162,7 @@ moves_loop: // When in check, search starts here
|
|||
if ((ss+1)->cutoffCnt > 3)
|
||||
r++;
|
||||
|
||||
// Decrease reduction for first generated move (ttMove)
|
||||
else if (move == ttMove)
|
||||
r--;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue