mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-22 10:06:26 +08:00
Retire history.h
And move the contents to movepick.cpp, where they are mostly used. Idea from DiscoCheck. No functional change (bench 5379503)
This commit is contained in:
@@ -20,12 +20,36 @@
|
||||
#if !defined MOVEPICK_H_INCLUDED
|
||||
#define MOVEPICK_H_INCLUDED
|
||||
|
||||
#include "history.h"
|
||||
#include "position.h"
|
||||
#include "search.h"
|
||||
#include "types.h"
|
||||
|
||||
|
||||
/// The History class stores statistics about how often different moves
|
||||
/// have been successful or unsuccessful during the current search. These
|
||||
/// statistics are used for reduction and move ordering decisions. History
|
||||
/// entries are stored according only to moving piece and destination square,
|
||||
/// in particular two moves with different origin but same destination and
|
||||
/// same piece will be considered identical.
|
||||
|
||||
class History {
|
||||
public:
|
||||
|
||||
static const Value Max = Value(2000);
|
||||
|
||||
const Value* operator[](Piece p) const { return &history[p][0]; }
|
||||
Value gain(Piece p, Square to) const { return gains[p][to]; }
|
||||
|
||||
void clear();
|
||||
void update(Piece p, Square to, Value bonus);
|
||||
void update_gain(Piece p, Square to, Value gain);
|
||||
|
||||
private:
|
||||
Value history[PIECE_NB][SQUARE_NB];
|
||||
Value gains[PIECE_NB][SQUARE_NB];
|
||||
};
|
||||
|
||||
|
||||
/// MovePicker class is used to pick one pseudo legal move at a time from the
|
||||
/// current position. The most important method is next_move(), which returns a
|
||||
/// new pseudo legal move each time it is called, until there are no moves left,
|
||||
|
||||
Reference in New Issue
Block a user