- Score value() const;
- Value kingside_storm_value(Color c) const;
- Value queenside_storm_value(Color c) const;
- Bitboard pawn_attacks(Color c) const;
- Bitboard passed_pawns() const;
- int file_is_half_open(Color c, File f) const;
- int has_open_file_to_left(Color c, File f) const;
- int has_open_file_to_right(Color c, File f) const;
- int get_king_shelter(const Position& pos, Color c, Square ksq);
-
-private:
- void clear();
- int updateShelter(const Position& pos, Color c, Square ksq);
-
- Key key;
- Bitboard passedPawns;
- Bitboard pawnAttacks[2];
- int16_t mgValue, egValue;
- int16_t ksStormValue[2], qsStormValue[2];
- uint8_t halfOpenFiles[2];
- Square kingSquares[2];
- uint8_t kingShelters[2];
-};
+ Score pawns_value() const { return value; }
+ Bitboard pawn_attacks(Color c) const { return pawnAttacks[c]; }
+ Bitboard passed_pawns(Color c) const { return passedPawns[c]; }
+ Bitboard candidate_pawns(Color c) const { return candidatePawns[c]; }
+ int pawns_on_same_color_squares(Color c, Square s) const { return pawnsOnSquares[c][!!(DarkSquares & s)]; }
+ int semiopen(Color c, File f) const { return semiopenFiles[c] & (1 << int(f)); }
+ int semiopen_on_side(Color c, File f, bool left) const {