// Table used to drive the defending king towards the edge of the board
// in KX vs K and KQ vs KR endgames.
- const int MateTable[64] = {
+ const int MateTable[SQUARE_NB] = {
100, 90, 80, 70, 70, 80, 90, 100,
90, 70, 60, 50, 50, 60, 70, 90,
80, 60, 40, 30, 30, 40, 60, 80,
// Table used to drive the defending king towards a corner square of the
// right color in KBN vs K endgames.
- const int KBNKMateTable[64] = {
+ const int KBNKMateTable[SQUARE_NB] = {
200, 190, 180, 170, 160, 150, 140, 130,
190, 180, 170, 160, 150, 140, 130, 140,
180, 170, 155, 140, 140, 125, 140, 150,
// Does the defending king block the pawns?
if ( square_distance(ksq, relative_square(strongerSide, SQ_A8)) <= 1
|| ( file_of(ksq) == FILE_A
- && !in_front_bb(strongerSide, ksq) & pawns))
+ && !(in_front_bb(strongerSide, ksq) & pawns)))
return SCALE_FACTOR_DRAW;
}
// Are all pawns on the 'h' file?
// Does the defending king block the pawns?
if ( square_distance(ksq, relative_square(strongerSide, SQ_H8)) <= 1
|| ( file_of(ksq) == FILE_H
- && !in_front_bb(strongerSide, ksq) & pawns))
+ && !(in_front_bb(strongerSide, ksq) & pawns)))
return SCALE_FACTOR_DRAW;
}
return SCALE_FACTOR_NONE;