mirror of
https://github.com/opelly27/Stockfish.git
synced 2026-05-20 09:47:46 +00:00
Introduce scale factor in pawn evaluation
The idea is to reduce the score if we have many pawns opposing an enemy pawn so that the draw possibility increases. Just introduced the logic, but no functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
+7
-2
@@ -26,6 +26,7 @@
|
||||
////
|
||||
|
||||
#include "bitboard.h"
|
||||
#include "scale.h"
|
||||
#include "value.h"
|
||||
|
||||
////
|
||||
@@ -52,6 +53,7 @@ public:
|
||||
Value queenside_storm_value(Color c) const;
|
||||
Bitboard pawn_attacks(Color c) const;
|
||||
Bitboard passed_pawns() const;
|
||||
ScaleFactor scale_factor(Color c) 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;
|
||||
@@ -67,8 +69,7 @@ private:
|
||||
Square kingSquares[2];
|
||||
Score value;
|
||||
int16_t ksStormValue[2], qsStormValue[2];
|
||||
uint8_t halfOpenFiles[2];
|
||||
uint8_t kingShelters[2];
|
||||
uint8_t halfOpenFiles[2], kingShelters[2], factor[2];
|
||||
};
|
||||
|
||||
/// The PawnInfoTable class represents a pawn hash table. It is basically
|
||||
@@ -116,6 +117,10 @@ inline Value PawnInfo::queenside_storm_value(Color c) const {
|
||||
return Value(qsStormValue[c]);
|
||||
}
|
||||
|
||||
inline ScaleFactor PawnInfo::scale_factor(Color c) const {
|
||||
return ScaleFactor(factor[c]);
|
||||
}
|
||||
|
||||
inline int PawnInfo::file_is_half_open(Color c, File f) const {
|
||||
return (halfOpenFiles[c] & (1 << int(f)));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user