-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Bonus for possible pawn sacrifice which creates an advanced passed pawn #1092
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
I have done following changes:
|
|
The assert is triggered at following position for the b4 pawn: So i have relaxed the assert to consider only opponent pawns. |
|
I noticed that there is no need to test b the first time entering the while loop because it has already been tested as part of the if condition above. Also once we OR in s there is no need to keep ORing it in again. I would therefore write it like this which I hope explains it better. else if (stoppers == SquareBB[s + Up]
&& relative_rank(Us, s) >= RANK_5
&& (b = (shift<Up>(supported) & ~theirPawns)))
do
if (!more_than_one(theirPawns & PawnAttacks[Us][pop_lsb(&b)]))
{
e->passedPawns[Us] |= s;
break;
}
while (b);Congrats again! |
|
The old assert was To allow for the new case and only the new case, it seems you should use two asserts, one for each color: |
|
@snicolet @mstembera |
|
@snicolet |
|
The current assert is so unspecific that i think now that we should drop it. |
STC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 16752 W: 3141 L: 2944 D: 10667
LTC:
LLR: 3.34 (-2.94,2.94) [0.00,5.00]
Total: 33928 W: 4544 L: 4300 D: 25084
Bench: 5639223