]> git.sesse.net Git - stockfish/blobdiff - src/evaluate.cpp
Cleanup SearchStack initialization
[stockfish] / src / evaluate.cpp
index c2e03d97e25564e5d1b8b80309fe5eec6b9262bc..269e80624588c8267cfe31b29fe41e8aba8053b6 100644 (file)
@@ -586,7 +586,9 @@ namespace {
     Bitboard bb = (b & ~ei.attackedBy[them][PAWN]);
 
     // Mobility
-    int mob = count_1s_max_15(bb & ~p.pieces_of_color(us));
+    int mob = (Piece != QUEEN ? count_1s_max_15(bb & ~p.pieces_of_color(us))
+                              : count_1s(bb & ~p.pieces_of_color(us)));
+
     ei.mgMobility += Sign[us] * MgBonus[Piece][mob];
     ei.egMobility += Sign[us] * EgBonus[Piece][mob];
 
@@ -916,7 +918,7 @@ namespace {
         {
             Square s = pop_1st_bit(&b);
 
-            assert(pos.piece_on(s) == pawn_of_color(us));
+            assert(pos.piece_on(s) == piece_of_color_and_type(us, PAWN));
             assert(pos.pawn_is_passed(us, s));
 
             int r = int(relative_rank(us, s) - RANK_2);
@@ -1067,12 +1069,12 @@ namespace {
   void evaluate_trapped_bishop_a7h7(const Position &pos, Square s, Color us,
                                     EvalInfo &ei) {
     assert(square_is_ok(s));
-    assert(pos.piece_on(s) == bishop_of_color(us));
+    assert(pos.piece_on(s) == piece_of_color_and_type(us, BISHOP));
 
     Square b6 = relative_square(us, (square_file(s) == FILE_A) ? SQ_B6 : SQ_G6);
     Square b8 = relative_square(us, (square_file(s) == FILE_A) ? SQ_B8 : SQ_G8);
 
-    if (   pos.piece_on(b6) == pawn_of_color(opposite_color(us))
+    if (   pos.piece_on(b6) == piece_of_color_and_type(opposite_color(us), PAWN)
         && pos.see(s, b6) < 0
         && pos.see(s, b8) < 0)
     {
@@ -1089,12 +1091,12 @@ namespace {
 
   void evaluate_trapped_bishop_a1h1(const Position &pos, Square s, Color us,
                                     EvalInfo &ei) {
-    Piece pawn = pawn_of_color(us);
+    Piece pawn = piece_of_color_and_type(us, PAWN);
     Square b2, b3, c3;
 
     assert(Chess960);
     assert(square_is_ok(s));
-    assert(pos.piece_on(s) == bishop_of_color(us));
+    assert(pos.piece_on(s) == piece_of_color_and_type(us, BISHOP));
 
     if (square_file(s) == FILE_A)
     {