@@ -32,48 +32,48 @@ namespace {
3232 #define S (mg, eg ) make_score(mg, eg)
3333
3434 // Pawn penalties
35- constexpr Score Backward = S( 9 , 22 );
36- constexpr Score Doubled = S(13 , 51 );
37- constexpr Score DoubledEarly = S(20 , 7 );
38- constexpr Score Isolated = S( 3 , 15 );
39- constexpr Score WeakLever = S( 4 , 58 );
40- constexpr Score WeakUnopposed = S(13 , 24 );
35+ constexpr Score Backward = S( 6 , 19 );
36+ constexpr Score Doubled = S(11 , 51 );
37+ constexpr Score DoubledEarly = S(17 , 7 );
38+ constexpr Score Isolated = S( 1 , 20 );
39+ constexpr Score WeakLever = S( 2 , 57 );
40+ constexpr Score WeakUnopposed = S(15 , 18 );
4141
4242 // Bonus for blocked pawns at 5th or 6th rank
43- constexpr Score BlockedPawn[2 ] = { S (-17 , -6 ), S (-9 , 2 ) };
43+ constexpr Score BlockedPawn[2 ] = { S (-19 , -8 ), S (-7 , 3 ) };
4444
4545 constexpr Score BlockedStorm[RANK_NB] = {
46- S (0 , 0 ), S (0 , 0 ), S (75 , 78 ), S (-8 , 16 ), S (-6 , 10 ), S (-6 , 6 ), S (0 , 2 )
46+ S (0 , 0 ), S (0 , 0 ), S (64 , 75 ), S (-3 , 14 ), S (-12 , 19 ), S (-7 , 4 ), S (- 10 , 5 )
4747 };
4848
4949 // Connected pawn bonus
50- constexpr int Connected[RANK_NB] = { 0 , 5 , 7 , 11 , 23 , 48 , 87 };
50+ constexpr int Connected[RANK_NB] = { 0 , 3 , 7 , 7 , 15 , 54 , 86 };
5151
5252 // Strength of pawn shelter for our king by [distance from edge][rank].
5353 // RANK_1 = 0 is used for files where we have no pawn, or pawn is behind our king.
5454 constexpr Value ShelterStrength[int (FILE_NB) / 2 ][RANK_NB] = {
55- { V ( - 5 ), V ( 82 ), V ( 92 ), V ( 54 ), V ( 36 ), V ( 22 ), V ( 28 ) },
56- { V (-44 ), V ( 63 ), V ( 33 ), V (-50 ), V (-30 ), V (-12 ), V ( - 62 ) },
57- { V (-11 ), V ( 77 ), V ( 22 ), V ( -6 ), V ( 31 ), V ( 8 ), V ( - 45 ) },
58- { V (-39 ), V (-12 ), V (-29 ), V (-50 ), V (-43 ), V (-68 ), V (-164 ) }
55+ { V (- 2 ), V (85 ), V (95 ), V (53 ), V (39 ), V (23 ), V (25 ) },
56+ { V (-55 ), V (64 ), V (32 ), V (-55 ), V (-30 ), V (-11 ), V (- 61 ) },
57+ { V (-11 ), V (75 ), V (19 ), V (-6 ), V (26 ), V (9 ), V (- 47 ) },
58+ { V (-41 ), V (-11 ), V (-27 ), V (-58 ), V (-42 ), V (-66 ), V (-163 ) }
5959 };
6060
6161 // Danger of enemy pawns moving toward our king by [distance from edge][rank].
6262 // RANK_1 = 0 is used for files where the enemy has no pawn, or their pawn
6363 // is behind our king. Note that UnblockedStorm[0][1-2] accommodate opponent pawn
6464 // on edge, likely blocked by our king.
6565 constexpr Value UnblockedStorm[int (FILE_NB) / 2 ][RANK_NB] = {
66- { V ( 87 ), V (-288 ), V (-168 ), V ( 96 ), V ( 47 ), V ( 44 ), V ( 46 ) },
67- { V ( 42 ), V ( - 25 ), V ( 120 ), V ( 45 ), V ( 34 ), V ( - 9 ), V ( 24 ) },
68- { V ( - 8 ), V ( 51 ), V ( 167 ), V ( 35 ), V ( - 4 ), V (-16 ), V (-12 ) },
69- { V (-17 ), V ( - 13 ), V ( 100 ), V ( 4 ), V ( 9 ), V (-16 ), V (-31 ) }
66+ { V (94 ), V (-280 ), V (-170 ), V (90 ), V (59 ), V (47 ), V (53 ) },
67+ { V (43 ), V (- 17 ), V (128 ), V (39 ), V (26 ), V (- 17 ), V (15 ) },
68+ { V (- 9 ), V (62 ), V (170 ), V (34 ), V (- 5 ), V (-20 ), V (-11 ) },
69+ { V (-27 ), V (- 19 ), V (106 ), V (10 ), V (2 ), V (-13 ), V (-24 ) }
7070 };
7171
7272
7373 // KingOnFile[semi-open Us][semi-open Them] contains bonuses/penalties
7474 // for king when the king is on a semi-open or open file.
75- constexpr Score KingOnFile[2 ][2 ] = {{ S (-21 , 10 ), S (-7 , 1 ) },
76- { S ( 0 ,- 3 ), S ( 9 ,-4 ) }};
75+ constexpr Score KingOnFile[2 ][2 ] = {{ S (-18 , 11 ), S (-6 ,- 3 ) },
76+ { S ( 0 , 0 ), S ( 5 ,-4 ) }};
7777
7878 #undef S
7979 #undef V
0 commit comments