1
0
Fork 0

Remove strange use of the ternary operator

Note that we read shared data without lock
protection, so code is theoretically prone to
torn reads. But, first splitPoint pointer
never changes, and alpha is of integer type so
it is read in a single DWORD access.

No functional change.
sf_3_base
jundery 2013-02-27 22:18:11 -07:00 committed by Marco Costalba
parent 68d1bebd8e
commit 0fc9a01933
1 changed files with 5 additions and 2 deletions

View File

@ -927,7 +927,8 @@ split_point_start: // At split points actual search starts from here
{
ss->reduction = reduction<PvNode>(depth, moveCount);
Depth d = std::max(newDepth - ss->reduction, ONE_PLY);
alpha = SpNode ? sp->alpha : alpha;
if (SpNode)
alpha = sp->alpha;
value = -search<NonPV>(pos, ss+1, -(alpha+1), -alpha, d);
@ -940,7 +941,9 @@ split_point_start: // At split points actual search starts from here
// Step 16. Full depth search, when LMR is skipped or fails high
if (doFullDepthSearch)
{
alpha = SpNode ? sp->alpha : alpha;
if (SpNode)
alpha = sp->alpha;
value = newDepth < ONE_PLY ?
givesCheck ? -qsearch<NonPV, true>(pos, ss+1, -(alpha+1), -alpha, DEPTH_ZERO)
: -qsearch<NonPV, false>(pos, ss+1, -(alpha+1), -alpha, DEPTH_ZERO)