mirror of
https://github.com/sockspls/badfish
synced 2025-07-12 03:59:15 +00:00
PSV3_1
Small speed-up in pawn.cpp Results for 10 tests for each version: Base Test Diff Mean 1435636 1445238 -9602 StDev 22576 23189 1848 p-value: 1 speedup: 0.007 No functional change Resolves #295
This commit is contained in:
parent
63500274db
commit
8463fa479e
1 changed files with 11 additions and 13 deletions
|
@ -45,10 +45,10 @@ namespace {
|
||||||
|
|
||||||
// Backward pawn penalty by opposed flag and file
|
// Backward pawn penalty by opposed flag and file
|
||||||
const Score Backward[2][FILE_NB] = {
|
const Score Backward[2][FILE_NB] = {
|
||||||
{ S(30, 42), S(43, 46), S(49, 46), S(49, 46),
|
{ S(50, 52), S(63, 56), S(69, 56), S(69, 56),
|
||||||
S(49, 46), S(49, 46), S(43, 46), S(30, 42) },
|
S(69, 56), S(69, 56), S(63, 56), S(50, 52) },
|
||||||
{ S(20, 28), S(29, 31), S(33, 31), S(33, 31),
|
{ S(40, 38), S(49, 41), S(53, 41), S(53, 41),
|
||||||
S(33, 31), S(33, 31), S(29, 31), S(20, 28) } };
|
S(53, 41), S(53, 41), S(49, 41), S(40, 38) } };
|
||||||
|
|
||||||
// Connected pawn bonus by opposed, phalanx, twice supported and rank
|
// Connected pawn bonus by opposed, phalanx, twice supported and rank
|
||||||
Score Connected[2][2][2][RANK_NB];
|
Score Connected[2][2][2][RANK_NB];
|
||||||
|
@ -180,19 +180,17 @@ namespace {
|
||||||
// Score this pawn
|
// Score this pawn
|
||||||
if (isolated)
|
if (isolated)
|
||||||
score -= Isolated[opposed][f];
|
score -= Isolated[opposed][f];
|
||||||
|
else if (backward)
|
||||||
if (!supported && !isolated)
|
|
||||||
score -= UnsupportedPawnPenalty;
|
|
||||||
|
|
||||||
if (doubled)
|
|
||||||
score -= Doubled[f] / distance<Rank>(s, frontmost_sq(Us, doubled));
|
|
||||||
|
|
||||||
if (backward)
|
|
||||||
score -= Backward[opposed][f];
|
score -= Backward[opposed][f];
|
||||||
|
else if (!supported)
|
||||||
|
score -= UnsupportedPawnPenalty;
|
||||||
|
|
||||||
if (connected)
|
if (connected)
|
||||||
score += Connected[opposed][!!phalanx][more_than_one(supported)][relative_rank(Us, s)];
|
score += Connected[opposed][!!phalanx][more_than_one(supported)][relative_rank(Us, s)];
|
||||||
|
|
||||||
|
if (doubled)
|
||||||
|
score -= Doubled[f] / distance<Rank>(s, frontmost_sq(Us, doubled));
|
||||||
|
|
||||||
if (lever)
|
if (lever)
|
||||||
score += Lever[relative_rank(Us, s)];
|
score += Lever[relative_rank(Us, s)];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue