Skip to content

Commit a185d6d

Browse files
Mobility: Partial contribution for rook and queen mobility squares when attacked by an enemy lesser piece (#346)
Original CW eval patch! It would seem to be a scaler. Or a p-hack at LTC. We should try to nonregr this away in a few weeks just to be sure. Note: It would probably be better to have different tables for this, but doing it this way introduces zero new parameters, which is always nice. Failed STC ``` Test | mobv2 Elo | -1.25 +- 2.19 (95%) SPRT | 8.0+0.08s Threads=1 Hash=16MB LLR | -2.96 (-2.94, 2.94) [0.00, 3.00] Games | N: 32530 W: 7798 L: 7915 D: 16817 Penta | [376, 4008, 7614, 3891, 376] ``` https://clockworkopenbench.pythonanywhere.com/test/1060/ Passed LTC ``` Test | mobv2 Elo | 1.77 +- 1.43 (95%) SPRT | 40.0+0.40s Threads=1 Hash=64MB LLR | 2.95 (-2.94, 2.94) [0.00, 3.00] Games | N: 65390 W: 15035 L: 14701 D: 35654 Penta | [381, 7656, 16312, 7940, 406] ``` https://clockworkopenbench.pythonanywhere.com/test/1061/ Bench: 13398527
1 parent 2bd0549 commit a185d6d

File tree

2 files changed

+100
-104
lines changed

2 files changed

+100
-104
lines changed

src/eval_constants.hpp

Lines changed: 94 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -5,172 +5,163 @@
55
namespace Clockwork {
66

77
// clang-format off
8-
inline const PParam PAWN_MAT = S(301, 307);
9-
inline const PParam KNIGHT_MAT = S(916, 615);
10-
inline const PParam BISHOP_MAT = S(835, 526);
11-
inline const PParam ROOK_MAT = S(1359, 1179);
12-
inline const PParam QUEEN_MAT = S(2765, 1705);
8+
inline const PParam PAWN_MAT = S(180, 158);
9+
inline const PParam KNIGHT_MAT = S(549, 327);
10+
inline const PParam BISHOP_MAT = S(517, 281);
11+
inline const PParam ROOK_MAT = S(572, 420);
12+
inline const PParam QUEEN_MAT = S(1165, 579);
1313
inline const PParam TEMPO_VAL = S(65, 13);
1414

15-
inline const PParam BISHOP_PAIR_VAL = S(84, 168);
16-
inline const PParam ROOK_OPEN_VAL = S(111, -29);
17-
inline const PParam ROOK_SEMIOPEN_VAL = S(40, 17);
15+
inline const PParam BISHOP_PAIR_VAL = S(83, 165);
16+
inline const PParam ROOK_OPEN_VAL = S(107, -24);
17+
inline const PParam ROOK_SEMIOPEN_VAL = S(43, 18);
1818

19-
inline const PParam DOUBLED_PAWN_VAL = S(-40, -75);
19+
inline const PParam DOUBLED_PAWN_VAL = S(-40, -74);
2020

21-
inline const PParam POTENTIAL_CHECKER_VAL = S(-67, -10);
22-
inline const PParam OUTPOST_KNIGHT_VAL = S(53, 36);
23-
inline const PParam OUTPOST_BISHOP_VAL = S(61, 28);
21+
inline const PParam POTENTIAL_CHECKER_VAL = S(-67, -9);
22+
inline const PParam OUTPOST_KNIGHT_VAL = S(47, 38);
23+
inline const PParam OUTPOST_BISHOP_VAL = S(54, 30);
2424

25-
inline const PParam PAWN_PUSH_THREAT_KNIGHT = S(52, 3);
26-
inline const PParam PAWN_PUSH_THREAT_BISHOP = S(59, -26);
27-
inline const PParam PAWN_PUSH_THREAT_ROOK = S(34, 34);
28-
inline const PParam PAWN_PUSH_THREAT_QUEEN = S(69, -58);
25+
inline const PParam PAWN_PUSH_THREAT_KNIGHT = S(51, 1);
26+
inline const PParam PAWN_PUSH_THREAT_BISHOP = S(57, -26);
27+
inline const PParam PAWN_PUSH_THREAT_ROOK = S(36, 34);
28+
inline const PParam PAWN_PUSH_THREAT_QUEEN = S(69, -59);
2929

3030
inline const std::array<PParam, 6> PAWN_PHALANX = {
31-
S(26, 15), S(62, 32), S(77, 69), S(188, 146), S(497, 246), S(721, 709)
31+
S(25, 15), S(61, 33), S(77, 69), S(189, 146), S(504, 242), S(748, 701),
3232
};
3333
inline const std::array<PParam, 5> DEFENDED_PAWN = {
34-
S(73, 38), S(64, 33), S(75, 66), S(178, 115), S(632, -29)
34+
S(73, 38), S(64, 33), S(76, 65), S(178, 115), S(633, -27),
3535
};
3636
inline const std::array<PParam, 6> PASSED_PAWN = {
37-
S(-84, -98), S(-82, -75), S(-57, 5), S(24, 73), S(102, 197), S(316, 281)
37+
S(-83, -98), S(-81, -75), S(-58, 6), S(24, 73), S(102, 195), S(316, 279),
3838
};
3939
inline const std::array<PParam, 6> DEFENDED_PASSED_PUSH = {
40-
S(44, -36), S(33, -1), S(27, 24), S(20, 77), S(112, 126), S(217, 224)
40+
S(42, -34), S(33, -1), S(26, 24), S(19, 77), S(112, 125), S(219, 223),
4141
};
4242
inline const std::array<PParam, 6> BLOCKED_PASSED_PAWN = {
43-
S(5, -33), S(-1, 5), S(-6, -20), S(-7, -41), S(-22, -87), S(-265, -111)
43+
S(7, -34), S(1, 4), S(-3, -22), S(-5, -41), S(-21, -88), S(-268, -108),
4444
};
4545

4646
inline const std::array<PParam, 8> FRIENDLY_KING_PASSED_PAWN_DISTANCE = {
47-
S(0, 0), S(1, 113), S(-9, 88), S(-3, 33), S(-1, 8), S(11, 9), S(47, 7), S(21, -9)
47+
S(0, 0), S(1, 114), S(-8, 88), S(-3, 32), S(-2, 9), S(11, 9), S(47, 7), S(22, -9),
4848
};
4949
inline const std::array<PParam, 8> ENEMY_KING_PASSED_PAWN_DISTANCE = {
50-
S(0, 0), S(-280, -12), S(-32, 25), S(-10, 48), S(32, 62), S(38, 84), S(51, 90), S(17, 92)
50+
S(0, 0), S(-280, -11), S(-33, 26), S(-10, 48), S(32, 61), S(38, 83), S(52, 89), S(19, 91),
5151
};
5252

5353
inline const std::array<PParam, 9> KNIGHT_MOBILITY = {
54-
S(-234, -218), S(-125, -59), S(-69, -1), S(-29, 31), S(18, 40), S(47, 75), S(88, 65), S(126, 65),
55-
S(175, 4)
54+
S(-5, -57), S(103, 102), S(159, 160), S(200, 192), S(246, 202), S(275, 236), S(314, 227), S(351, 228), S(400, 166),
5655
};
5756
inline const std::array<PParam, 14> BISHOP_MOBILITY = {
58-
S(-251, -289), S(-178, -101), S(-107, -43), S(-71, 0), S(-44, 36), S(-21, 55), S(-7, 69), S(14, 73),
59-
S(33, 81), S(52, 72), S(76, 59), S(137, 16), S(147, 12), S(216, -36)
57+
S(-26, -164), S(48, 21), S(117, 80), S(153, 123), S(178, 159), S(199, 178), S(209, 192), S(227, 197), S(242, 206), S(257, 198), S(279, 186), S(338, 142), S(342, 140), S(409, 91),
6058
};
6159
inline const std::array<PParam, 15> ROOK_MOBILITY = {
62-
S(-279, -358), S(-165, -63), S(-108, -18), S(-70, -13), S(-43, 8), S(-28, 34), S(-10, 48), S(8, 51),
63-
S(25, 61), S(41, 69), S(61, 69), S(76, 72), S(91, 74), S(119, 53), S(277, -87)
60+
S(254, 94), S(204, 262), S(233, 280), S(251, 286), S(264, 297), S(271, 310), S(278, 318), S(289, 318), S(298, 321), S(307, 325), S(321, 323), S(329, 323), S(339, 321), S(363, 299), S(463, 209),
6461
};
6562
inline const std::array<PParam, 28> QUEEN_MOBILITY = {
66-
S(-833, -482), S(-295, -631), S(-193, -534), S(-140, -337), S(-131, -131), S(-100, 7), S(-95, 108), S(-69, 129),
67-
S(-61, 178), S(-50, 200), S(-39, 229), S(-30, 232), S(-9, 219), S(-7, 238), S(-1, 236), S(11, 226),
68-
S(26, 206), S(23, 214), S(39, 181), S(68, 143), S(80, 123), S(134, 49), S(144, 42), S(258, -89),
69-
S(356, -174), S(439, -263), S(125, -86), S(343, -233)
63+
S(476, 166), S(548, 220), S(595, 249), S(621, 361), S(631, 429), S(649, 466), S(653, 510), S(665, 509), S(669, 532), S(675, 540), S(678, 557), S(685, 556), S(699, 540), S(699, 554), S(704, 546), S(710, 539), S(719, 528), S(713, 536), S(719, 517), S(739, 492), S(744, 482), S(778, 432), S(789, 426), S(863, 340), S(935, 281), S(927, 260), S(639, 421), S(811, 308),
7064
};
7165
inline const std::array<PParam, 9> KING_MOBILITY = {
72-
S(516, -126), S(185, -152), S(51, -46), S(6, 2), S(-45, 15), S(-106, 40), S(-155, 78), S(-206, 100),
73-
S(-246, 85)
66+
S(604, -172), S(266, -192), S(132, -87), S(87, -38), S(35, -25), S(-26, -0), S(-76, 37), S(-128, 60), S(-168, 45),
7467
};
7568

7669
inline const std::array<PParam, 3> KNIGHT_KING_RING = {
77-
S(269, 228), S(357, 199), S(424, 158)
70+
S(260, 225), S(353, 196), S(424, 155),
7871
};
7972
inline const std::array<PParam, 3> BISHOP_KING_RING = {
80-
S(478, 377), S(295, 239), S(164, 74)
73+
S(467, 372), S(288, 235), S(159, 72),
8174
};
8275
inline const std::array<PParam, 5> ROOK_KING_RING = {
83-
S(425, 395), S(536, 393), S(560, 409), S(645, 461), S(767, 434)
76+
S(348, 319), S(462, 315), S(490, 330), S(576, 382), S(700, 351),
8477
};
8578
inline const std::array<PParam, 6> QUEEN_KING_RING = {
86-
S(1124, 911), S(777, 741), S(457, 560), S(201, 319), S(81, 12), S(-51, -326)
79+
S(906, 745), S(616, 611), S(351, 470), S(147, 271), S(77, 8), S(-2, -289),
8780
};
8881

8982
inline const std::array<PParam, 5> PT_INNER_RING_ATTACKS = {
90-
S(-113, 60), S(-1, 0), S(-224, -129), S(42, 43), S(-307, -189)
83+
S(-113, 60), S(1, -0), S(-221, -128), S(44, 42), S(-250, -150),
9184
};
9285
inline const std::array<PParam, 5> PT_OUTER_RING_ATTACKS = {
93-
S(-26, 23), S(-23, 21), S(-23, 15), S(-15, 9), S(-21, -11)
86+
S(-26, 22), S(-22, 20), S(-20, 14), S(-15, 9), S(-22, -10),
9487
};
9588

96-
inline const PParam PAWN_THREAT_KNIGHT = S(247, 58);
97-
inline const PParam PAWN_THREAT_BISHOP = S(232, 122);
98-
inline const PParam PAWN_THREAT_ROOK = S(209, 84);
99-
inline const PParam PAWN_THREAT_QUEEN = S(189, -39);
89+
inline const PParam PAWN_THREAT_KNIGHT = S(249, 57);
90+
inline const PParam PAWN_THREAT_BISHOP = S(226, 123);
91+
inline const PParam PAWN_THREAT_ROOK = S(212, 82);
92+
inline const PParam PAWN_THREAT_QUEEN = S(190, -39);
10093

101-
inline const PParam KNIGHT_THREAT_BISHOP = S(121, 69);
102-
inline const PParam KNIGHT_THREAT_ROOK = S(257, 13);
103-
inline const PParam KNIGHT_THREAT_QUEEN = S(166, -56);
94+
inline const PParam KNIGHT_THREAT_BISHOP = S(117, 69);
95+
inline const PParam KNIGHT_THREAT_ROOK = S(258, 14);
96+
inline const PParam KNIGHT_THREAT_QUEEN = S(166, -52);
10497

105-
inline const PParam BISHOP_THREAT_KNIGHT = S(121, 38);
106-
inline const PParam BISHOP_THREAT_ROOK = S(248, 66);
107-
inline const PParam BISHOP_THREAT_QUEEN = S(199, 51);
98+
inline const PParam BISHOP_THREAT_KNIGHT = S(121, 36);
99+
inline const PParam BISHOP_THREAT_ROOK = S(252, 66);
100+
inline const PParam BISHOP_THREAT_QUEEN = S(198, 57);
108101

109102
inline const std::array<PParam, 9> BISHOP_PAWNS = {
110-
S(1, -17), S(-4, -5), S(-4, -16), S(-9, -23), S(-16, -29), S(-22, -34), S(-25, -43), S(-29, -48),
111-
S(-39, -52)
103+
S(1, -17), S(-4, -5), S(-4, -17), S(-9, -23), S(-15, -29), S(-21, -34), S(-24, -43), S(-28, -48), S(-40, -50),
112104
};
113105

114106
inline const std::array<PParam, 48> PAWN_PSQT = {
115-
S(185, 136), S(126, 199), S(191, 162), S(166, 103), S(218, 36), S(177, 93), S(93, 128), S(168, 98),
116-
S(36, 29), S(109, 75), S(87, 19), S(52, -11), S(45, -44), S(12, -8), S(-10, 24), S(-55, 34),
117-
S(-16, -8), S(-11, 10), S(4, -33), S(-9, -42), S(-23, -49), S(-56, -39), S(-91, -4), S(-104, 9),
118-
S(-31, -56), S(-15, -26), S(-12, -49), S(-32, -48), S(-59, -54), S(-76, -47), S(-123, -9), S(-143, -18),
119-
S(-38, -81), S(25, -74), S(-29, -29), S(-42, -31), S(-75, -33), S(-107, -36), S(-127, -24), S(-145, -36),
120-
S(-37, -72), S(88, -65), S(37, -26), S(-5, -10), S(-41, -20), S(-70, -28), S(-91, -12), S(-128, -18)
107+
S(307, 282), S(248, 346), S(314, 309), S(287, 250), S(339, 184), S(299, 241), S(214, 276), S(290, 246), //
108+
S(157, 178), S(229, 223), S(209, 168), S(173, 138), S(165, 105), S(133, 141), S(110, 172), S(66, 183), //
109+
S(106, 140), S(111, 158), S(126, 115), S(113, 107), S(98, 100), S(65, 110), S(31, 144), S(17, 158), //
110+
S(92, 92), S(107, 122), S(111, 98), S(91, 100), S(63, 94), S(47, 101), S(-1, 140), S(-19, 130), //
111+
S(83, 67), S(147, 74), S(94, 119), S(80, 118), S(46, 116), S(15, 112), S(-5, 124), S(-24, 112), //
112+
S(84, 77), S(211, 83), S(160, 122), S(118, 139), S(82, 128), S(53, 120), S(32, 135), S(-7, 130), //
121113
};
122114
inline const std::array<PParam, 64> KNIGHT_PSQT = {
123-
S(-433, -145), S(-401, 80), S(-499, 264), S(-89, 43), S(-159, 39), S(-265, 7), S(-594, 122), S(-501, -80),
124-
S(-26, 8), S(37, -5), S(126, -42), S(126, -10), S(117, 0), S(52, -11), S(23, 1), S(-14, -38),
125-
S(59, -44), S(101, 6), S(155, 20), S(133, 37), S(99, 39), S(57, 43), S(49, -5), S(-31, 5),
126-
S(96, 8), S(99, 18), S(113, 45), S(89, 77), S(108, 69), S(79, 53), S(70, 11), S(43, -11),
127-
S(90, -5), S(133, -18), S(110, 29), S(104, 44), S(83, 54), S(83, 38), S(72, 0), S(42, -14),
128-
S(26, -28), S(60, -38), S(44, 3), S(66, 28), S(70, 24), S(18, 17), S(21, -33), S(-21, -40),
129-
S(30, -35), S(55, -53), S(40, -38), S(42, -13), S(24, -8), S(0, -46), S(11, -46), S(-35, -109),
130-
S(-24, -64), S(11, -1), S(35, -40), S(51, -43), S(40, -33), S(-9, -51), S(-19, -24), S(-76, -85)
115+
S(-299, -13), S(-269, 210), S(-364, 385), S(39, 173), S(-29, 167), S(-133, 135), S(-461, 253), S(-366, 51), //
116+
S(102, 136), S(160, 126), S(236, 90), S(236, 121), S(224, 132), S(163, 121), S(146, 131), S(111, 93), //
117+
S(183, 87), S(216, 131), S(254, 155), S(230, 171), S(196, 174), S(149, 178), S(156, 126), S(93, 135), //
118+
S(231, 135), S(230, 145), S(237, 173), S(216, 203), S(231, 198), S(202, 182), S(198, 139), S(178, 117), //
119+
S(230, 120), S(269, 108), S(243, 153), S(235, 169), S(215, 178), S(214, 163), S(205, 126), S(180, 113), //
120+
S(167, 99), S(200, 87), S(182, 128), S(204, 151), S(207, 148), S(157, 139), S(159, 92), S(120, 85), //
121+
S(173, 92), S(198, 74), S(182, 86), S(183, 112), S(165, 116), S(141, 78), S(153, 78), S(107, 15), //
122+
S(120, 62), S(154, 124), S(180, 85), S(195, 82), S(183, 92), S(134, 73), S(122, 101), S(68, 41), //
131123
};
132124
inline const std::array<PParam, 64> BISHOP_PSQT = {
133-
S(-164, 57), S(-178, 51), S(-407, 90), S(-319, 79), S(-264, 90), S(-428, 125), S(-211, 109), S(-141, 71),
134-
S(4, -34), S(-30, 31), S(-27, 10), S(-70, 42), S(-88, 47), S(-34, 34), S(-20, 15), S(-41, 6),
135-
S(42, -5), S(79, -5), S(100, 17), S(52, 29), S(31, 19), S(36, 19), S(61, 3), S(10, -18),
136-
S(38, -30), S(45, 2), S(77, 6), S(62, 46), S(88, 39), S(29, 21), S(26, -9), S(-6, -8),
137-
S(41, -48), S(60, -27), S(63, 2), S(72, 18), S(60, 28), S(21, 26), S(-6, -4), S(-5, -44),
138-
S(50, -41), S(97, -40), S(111, -23), S(60, 13), S(51, 3), S(51, -2), S(61, -22), S(12, -24),
139-
S(42, -91), S(117, -77), S(82, -58), S(57, -35), S(38, -26), S(40, -47), S(35, -42), S(34, -87),
140-
S(44, -71), S(34, -25), S(44, -18), S(55, -49), S(66, -57), S(61, -12), S(50, -43), S(28, -49)
125+
S(-67, 186), S(-81, 174), S(-312, 216), S(-226, 205), S(-172, 216), S(-333, 251), S(-114, 231), S(-43, 198), //
126+
S(94, 93), S(53, 158), S(48, 139), S(7, 173), S(-15, 179), S(38, 164), S(63, 141), S(49, 134), //
127+
S(133, 121), S(161, 123), S(177, 145), S(124, 159), S(101, 149), S(109, 149), S(142, 131), S(97, 110), //
128+
S(130, 96), S(137, 126), S(162, 134), S(147, 172), S(174, 165), S(112, 150), S(115, 117), S(83, 119), //
129+
S(135, 77), S(153, 99), S(158, 127), S(166, 144), S(153, 153), S(116, 149), S(83, 122), S(89, 80), //
130+
S(144, 85), S(193, 86), S(207, 102), S(158, 138), S(149, 127), S(147, 123), S(157, 102), S(105, 102), //
131+
S(140, 35), S(218, 48), S(183, 67), S(157, 91), S(138, 99), S(139, 77), S(135, 82), S(131, 39), //
132+
S(144, 55), S(133, 102), S(143, 108), S(156, 75), S(167, 67), S(160, 112), S(148, 82), S(127, 76), //
141133
};
142134
inline const std::array<PParam, 64> ROOK_PSQT = {
143-
S(106, 8), S(163, 7), S(86, 43), S(143, 5), S(123, 6), S(66, 29), S(82, 24), S(100, 24),
144-
S(0, 64), S(78, 42), S(144, 27), S(93, 49), S(115, 36), S(78, 36), S(-3, 70), S(-13, 76),
145-
S(-8, 45), S(114, 8), S(155, -2), S(144, 0), S(120, -3), S(63, 30), S(71, 27), S(-25, 76),
146-
S(-38, 35), S(37, 33), S(82, 19), S(89, -3), S(68, 11), S(21, 37), S(-7, 47), S(-63, 54),
147-
S(-84, -12), S(-8, -6), S(-29, 12), S(-30, 4), S(-32, 2), S(-43, 30), S(-77, 29), S(-94, 22),
148-
S(-109, -40), S(-47, -44), S(-43, -22), S(-59, -29), S(-45, -44), S(-77, 2), S(-82, -20), S(-123, -9),
149-
S(-181, -26), S(-75, -87), S(-50, -66), S(-45, -64), S(-47, -66), S(-63, -49), S(-78, -70), S(-116, -49),
150-
S(-139, -31), S(-113, -20), S(-49, -59), S(-23, -72), S(-39, -58), S(-52, -42), S(-70, -45), S(-88, -26)
135+
S(397, 265), S(458, 261), S(380, 297), S(434, 261), S(415, 264), S(353, 289), S(371, 283), S(389, 282), //
136+
S(299, 317), S(378, 295), S(443, 282), S(391, 303), S(412, 292), S(374, 293), S(291, 326), S(281, 331), //
137+
S(290, 296), S(413, 261), S(453, 252), S(443, 255), S(418, 254), S(359, 286), S(368, 282), S(270, 330), //
138+
S(262, 286), S(339, 286), S(383, 273), S(388, 253), S(366, 268), S(320, 292), S(292, 301), S(235, 306), //
139+
S(219, 238), S(292, 247), S(273, 266), S(274, 257), S(270, 256), S(258, 285), S(223, 283), S(207, 273), //
140+
S(189, 212), S(250, 210), S(256, 231), S(241, 224), S(255, 210), S(222, 256), S(213, 235), S(174, 244), //
141+
S(113, 228), S(221, 166), S(247, 186), S(253, 189), S(251, 186), S(234, 204), S(217, 185), S(179, 206), //
142+
S(155, 217), S(181, 230), S(246, 191), S(273, 178), S(257, 193), S(243, 209), S(224, 207), S(205, 224), //
151143
};
152144
inline const std::array<PParam, 64> QUEEN_PSQT = {
153-
S(19, 19), S(70, -20), S(77, -14), S(-29, 118), S(18, 41), S(-14, 64), S(20, -19), S(-56, 50),
154-
S(-1, 88), S(-37, 165), S(-57, 192), S(-176, 235), S(-152, 206), S(-102, 174), S(-64, 80), S(-42, 73),
155-
S(-36, 101), S(41, 105), S(-39, 178), S(-48, 186), S(-96, 177), S(-90, 161), S(-13, 42), S(-49, 40),
156-
S(34, 15), S(32, 73), S(-13, 126), S(-11, 159), S(-34, 165), S(-46, 117), S(14, 17), S(17, -40),
157-
S(11, 15), S(36, 20), S(11, 64), S(-11, 107), S(-10, 98), S(-11, 56), S(8, -8), S(15, -51),
158-
S(18, -97), S(47, -55), S(51, 16), S(20, 2), S(21, -17), S(30, 0), S(34, -59), S(10, -71),
159-
S(8, -201), S(52, -270), S(55, -183), S(69, -125), S(51, -113), S(55, -146), S(20, -79), S(19, -107),
160-
S(-37, -133), S(24, -360), S(31, -372), S(52, -255), S(62, -191), S(57, -239), S(47, -209), S(-6, -137)
145+
S(498, 411), S(551, 372), S(548, 389), S(443, 519), S(486, 445), S(456, 466), S(495, 378), S(420, 448), //
146+
S(477, 488), S(451, 555), S(433, 581), S(308, 631), S(330, 604), S(385, 566), S(420, 475), S(436, 473), //
147+
S(437, 506), S(518, 505), S(437, 579), S(433, 586), S(384, 577), S(388, 562), S(466, 441), S(424, 446), //
148+
S(499, 426), S(502, 480), S(458, 531), S(453, 569), S(432, 573), S(424, 521), S(482, 423), S(485, 365), //
149+
S(477, 423), S(492, 435), S(468, 479), S(444, 521), S(446, 512), S(445, 470), S(466, 405), S(475, 362), //
150+
S(473, 319), S(498, 362), S(501, 434), S(468, 421), S(468, 401), S(478, 418), S(483, 361), S(463, 346), //
151+
S(452, 219), S(494, 155), S(497, 242), S(512, 296), S(494, 309), S(497, 279), S(463, 344), S(466, 313), //
152+
S(406, 263), S(465, 59), S(471, 53), S(492, 168), S(502, 233), S(498, 186), S(488, 212), S(437, 274), //
161153
};
162154
inline const std::array<PParam, 64> KING_PSQT = {
163-
S(-651, -130), S(-65, 85), S(-51, 70), S(-173, 33), S(-2, -9), S(-2, -9), S(-2, -9), S(-2, -9),
164-
S(62, -68), S(62, 119), S(148, 75), S(162, -2), S(-2, -9), S(-2, -9), S(-2, -9), S(-2, -9),
165-
S(-35, 72), S(178, 66), S(222, 44), S(172, 5), S(-2, -9), S(-2, -9), S(-2, -9), S(-2, -9),
166-
S(-287, 84), S(158, 18), S(100, 19), S(66, 11), S(-2, -9), S(-2, -9), S(-2, -9), S(-2, -9),
167-
S(-278, 55), S(79, -9), S(103, -12), S(28, 17), S(-2, -9), S(-2, -9), S(-2, -9), S(-2, -9),
168-
S(-168, 30), S(154, -46), S(111, -21), S(84, -2), S(-2, -9), S(-2, -9), S(-2, -9), S(-2, -9),
169-
S(-10, -35), S(179, -69), S(128, -41), S(61, -7), S(-2, -9), S(-2, -9), S(-2, -9), S(-2, -9),
170-
S(-210, -22), S(-25, -30), S(-108, -1), S(-127, -2), S(-2, -9), S(-2, -9), S(-2, -9), S(-2, -9)
171-
};
172-
173-
// Epoch duration: 8.05849s
174-
// Epoch duration: 6.87929s
155+
S(-654, -116), S(-73, 97), S(-51, 81), S(-176, 41), S(0, 0), S(0, 0), S(0, 0), S(0, 0), //
156+
S(58, -53), S(73, 125), S(154, 83), S(165, 4), S(0, 0), S(0, 0), S(0, 0), S(0, 0), //
157+
S(-39, 84), S(186, 76), S(228, 55), S(177, 16), S(0, 0), S(0, 0), S(0, 0), S(0, 0), //
158+
S(-290, 96), S(160, 28), S(103, 29), S(69, 22), S(0, 0), S(0, 0), S(0, 0), S(0, 0), //
159+
S(-280, 65), S(81, 0), S(107, -2), S(28, 28), S(0, 0), S(0, 0), S(0, 0), S(0, 0), //
160+
S(-167, 40), S(156, -36), S(113, -11), S(84, 8), S(0, 0), S(0, 0), S(0, 0), S(0, 0), //
161+
S(-9, -26), S(181, -60), S(131, -32), S(63, 2), S(0, 0), S(0, 0), S(0, 0), S(0, 0), //
162+
S(-209, -13), S(-23, -21), S(-105, 7), S(-123, 5), S(0, 0), S(0, 0), S(0, 0), S(0, 0), //
163+
};
164+
165+
// Epoch duration: 8.68854s
175166
// clang-format on
176167
} // namespace Clockwork

0 commit comments

Comments
 (0)