@@ -82,6 +82,46 @@ namespace BitMask
8282 0X2838000000000000 , 0X5070000000000000 , 0Xa0e0000000000000 , 0X40c0000000000000
8383 };
8484
85+ constexpr uint64_t pawn_shield[total_colors][total_squares]
86+ {
87+ {
88+ 0x0000000000000300 , 0x0000000000000700 , 0x0000000000000e00 , 0x0000000000001c00 ,
89+ 0x0000000000003800 , 0x0000000000007000 , 0x000000000000e000 , 0x000000000000c000 ,
90+ 0x0000000000030000 , 0x0000000000070000 , 0x00000000000e0000 , 0x00000000001c0000 ,
91+ 0x0000000000380000 , 0x0000000000700000 , 0x0000000000e00000 , 0x0000000000c00000 ,
92+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
93+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
94+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
95+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
96+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
97+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
98+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
99+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
100+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
101+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
102+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
103+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
104+ },
105+ {
106+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
107+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
108+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
109+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
110+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
111+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
112+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
113+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
114+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
115+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
116+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
117+ 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 , 0x0000000000000000 ,
118+ 0x0000030000000000 , 0x0000070000000000 , 0x00000e0000000000 , 0x00001c0000000000 ,
119+ 0x0000380000000000 , 0x0000700000000000 , 0x0000e00000000000 , 0x0000c00000000000 ,
120+ 0x0003000000000000 , 0x0007000000000000 , 0x000e000000000000 , 0x001c000000000000 ,
121+ 0x0038000000000000 , 0x0070000000000000 , 0x00e0000000000000 , 0x00c0000000000000 ,
122+ },
123+ };
124+
85125 constexpr uint64_t pawn_attacks[total_colors][total_squares]{
86126 {
87127 0X000000000000000200 , 0X000000000000000500 , 0X000000000000000a00 , 0X000000000000001400 ,
0 commit comments