- // Endgame evaluation and scaling functions accessed direcly and not through
- // the function maps because correspond to more then one material hash key.
- Endgame<KmmKm> EvaluateKmmKm[] = { Endgame<KmmKm>(WHITE), Endgame<KmmKm>(BLACK) };
- Endgame<KXK> EvaluateKXK[] = { Endgame<KXK>(WHITE), Endgame<KXK>(BLACK) };
+ // PawnSet[pawn count] contains a bonus/malus indexed by number of pawns
+ const int PawnSet[] = {
+ 24, -32, 107, -51, 117, -9, -126, -21, 31
+ };
+
+ // QueenMinorsImbalance[opp_minor_count] is applied when only one side has a queen.
+ // It contains a bonus/malus for the side with the queen.
+ const int QueenMinorsImbalance[16] = {
+ 31, -8, -15, -25, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ };
+
+ // Endgame evaluation and scaling functions are accessed directly and not through
+ // the function maps because they correspond to more than one material hash key.
+ Endgame<KXK> EvaluateKXK[] = { Endgame<KXK>(WHITE), Endgame<KXK>(BLACK) };