1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-29 16:23:09 +00:00

Simplify pawn code a bit

Simplify a bit the number of bitwise operators used to calculate the
pawn evaluation in pawns.cpp

No functional change.

Resolves #269
This commit is contained in:
Stéphane Nicolet 2015-03-01 01:00:52 +08:00 committed by Gary Linscott
parent 9369f4963d
commit 1e6d21dbb6

View file

@ -110,9 +110,9 @@ namespace {
const Square Right = (Us == WHITE ? DELTA_NE : DELTA_SW);
const Square Left = (Us == WHITE ? DELTA_NW : DELTA_SE);
Bitboard b, p, doubled, connected, supported;
Bitboard b, neighbours, doubled, connected, supported, phalanx;
Square s;
bool passed, isolated, opposed, phalanx, backward, lever;
bool passed, isolated, opposed, backward, lever;
Score score = SCORE_ZERO;
const Square* pl = pos.list<PAWN>(Us);
const Bitboard* pawnAttacksBB = StepAttacksBB[make_piece(Us, PAWN)];
@ -137,18 +137,16 @@ namespace {
// This file cannot be semi-open
e->semiopenFiles[Us] &= ~(1 << f);
// Previous rank
p = rank_bb(s - Up);
// Flag the pawn
connected = ourPawns & adjacent_files_bb(f) & (rank_bb(s) | p);
phalanx = connected & rank_bb(s);
supported = connected & p;
isolated = !(ourPawns & adjacent_files_bb(f));
neighbours = ourPawns & adjacent_files_bb(f);
doubled = ourPawns & forward_bb(Us, s);
opposed = theirPawns & forward_bb(Us, s);
passed = !(theirPawns & passed_pawn_mask(Us, s));
lever = theirPawns & pawnAttacksBB[s];
phalanx = neighbours & rank_bb(s);
supported = neighbours & rank_bb(s - Up);
connected = supported | phalanx;
isolated = !neighbours;
// Test for backward pawn.
// If the pawn is passed, isolated, connected or a lever it cannot be
@ -193,7 +191,7 @@ namespace {
score -= Backward[opposed][f];
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 (lever)
score += Lever[relative_rank(Us, s)];