constexpr Score Bonus[][RANK_NB][int(FILE_NB) / 2] = {
{ },
{ // Pawn
- { S( 0, 0), S( 0, 0), S( 0, 0), S( 0, 0) },
- { S(-11, 7), S( 6,-4), S( 7, 8), S( 3,-2) },
- { S(-18,-4), S( -2,-5), S( 19, 5), S(24, 4) },
- { S(-17, 3), S( -9, 3), S( 20,-8), S(35,-3) },
- { S( -6, 8), S( 5, 9), S( 3, 7), S(21,-6) },
- { S( -6, 8), S( -8,-5), S( -6, 2), S(-2, 4) },
- { S( -4, 3), S( 20,-9), S( -8, 1), S(-4,18) }
+ { S( 0, 0), S( 0, 0), S( 0, 0), S( 0, 0) },
+ { S(-11,-3), S( 7, -1), S( 7, 7), S(17, 2) },
+ { S(-16,-2), S( -3, 2), S( 23, 6), S(23,-1) },
+ { S(-14, 7), S( -7, -4), S( 20,-8), S(24, 2) },
+ { S( -5,13), S( -2, 10), S( -1,-1), S(12,-8) },
+ { S(-11,16), S(-12, 6), S( -2, 1), S( 4,16) },
+ { S( -2, 1), S( 20,-12), S(-10, 6), S(-2,25) }
},
{ // Knight
- { S(-161,-105), S(-96,-82), S(-80,-46), S(-73,-14) },
- { S( -83, -69), S(-43,-54), S(-21,-17), S(-10, 9) },
- { S( -71, -50), S(-22,-39), S( 0, -7), S( 9, 28) },
- { S( -25, -41), S( 18,-25), S( 43, 6), S( 47, 38) },
- { S( -26, -46), S( 16,-25), S( 38, 3), S( 50, 40) },
- { S( -11, -54), S( 37,-38), S( 56, -7), S( 65, 27) },
- { S( -63, -65), S(-19,-50), S( 5,-24), S( 14, 13) },
- { S(-195,-109), S(-67,-89), S(-42,-50), S(-29,-13) }
+ { S(-169,-105), S(-96,-74), S(-80,-46), S(-79,-18) },
+ { S( -79, -70), S(-39,-56), S(-24,-15), S( -9, 6) },
+ { S( -64, -38), S(-20,-33), S( 4, -5), S( 19, 27) },
+ { S( -28, -36), S( 5, 0), S( 41, 13), S( 47, 34) },
+ { S( -29, -41), S( 13,-20), S( 42, 4), S( 52, 35) },
+ { S( -11, -51), S( 28,-38), S( 63,-17), S( 55, 19) },
+ { S( -67, -64), S(-21,-45), S( 6,-37), S( 37, 16) },
+ { S(-200, -98), S(-80,-89), S(-53,-53), S(-32,-16) }
},
{ // Bishop
- { S(-64,-58), S(-13,-31), S(-25,-37), S(-34,-19) },
- { S(-20,-34), S( 0, -9), S( 12,-14), S( 1, 4) },
- { S( -9,-23), S( 27, 0), S( 1, -3), S( 11, 16) },
- { S(-11,-26), S( 28, -3), S( 21, -5), S( 32, 16) },
- { S(-11,-26), S( 27, -4), S( 16, -7), S( 31, 14) },
- { S(-17,-24), S( 16, -2), S( -8, 0), S( 2, 13) },
- { S(-23,-34), S( -3,-10), S( 6,-12), S( -2, 6) },
- { S(-55,-55), S(-11,-32), S(-19,-36), S(-29,-17) }
+ { S(-49,-58), S(- 7,-31), S(-10,-37), S(-34,-19) },
+ { S(-24,-34), S( 9, -9), S( 15,-14), S( 1, 4) },
+ { S( -9,-23), S( 22, 0), S( -3, -3), S( 12, 16) },
+ { S( 4,-26), S( 9, -3), S( 18, -5), S( 40, 16) },
+ { S( -8,-26), S( 27, -4), S( 13, -7), S( 30, 14) },
+ { S(-17,-24), S( 14, -2), S( -6, 0), S( 6, 13) },
+ { S(-19,-34), S(-13,-10), S( 7,-12), S(-11, 6) },
+ { S(-47,-55), S( -7,-32), S(-17,-36), S(-29,-17) }
},
{ // Rook
- { S(-25, 0), S(-16, 0), S(-16, 0), S(-9, 0) },
+ { S(-25, 0), S(-16, 0), S(-10, 5), S( 6, 5) },
{ S(-21, 0), S( -8, 0), S( -3, 0), S( 0, 0) },
{ S(-21, 0), S( -9, 0), S( -4, 0), S( 2, 0) },
{ S(-22, 0), S( -6, 0), S( -1, 0), S( 2, 0) },