Introduce bad outpost penalty
[stockfish] / src / bitboard.h
index afeb40ec146f2af01d2626111fe19450148c90f3..15ec4153362d82d1339e9657e19190cf2e118005 100644 (file)
@@ -130,6 +130,13 @@ constexpr bool more_than_one(Bitboard b) {
   return b & (b - 1);
 }
 
+/// Counts the occupation of the bitboard depending on the occupation of SQ_A1
+/// as in `b & (1ULL << SQ_A1) ? more_than_two(b) : more_than_one(b)`
+
+constexpr bool conditional_more_than_two(Bitboard b) {
+  return b & (b - 1) & (b - 2);
+}
+
 constexpr bool opposite_colors(Square s1, Square s2) {
   return (s1 + rank_of(s1) + s2 + rank_of(s2)) & 1;
 }