/*
Stockfish, a UCI chess playing engine derived from Glaurung 2.1
Copyright (C) 2004-2008 Tord Romstad (Glaurung author)
- Copyright (C) 2008-2009 Marco Costalba
+ Copyright (C) 2008-2010 Marco Costalba, Joona Kiiski, Tord Romstad
Stockfish is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "depth.h"
#include "move.h"
#include "piece.h"
+#include "value.h"
////
void clear();
void success(Piece p, Square to, Depth d);
void failure(Piece p, Square to, Depth d);
- int move_ordering_score(Piece p, Square to) const;
+ int value(Piece p, Square to) const;
+ void set_gain(Piece p, Square to, Value delta);
+ Value gain(Piece p, Square to) const;
private:
int history[16][64]; // [piece][square]
+ int maxStaticValueDelta[16][64]; // [piece][from_square][to_square]
};
/// recently have a bigger importance for move ordering than the moves which
/// have been searched a long time ago.
-const int HistoryMax = 50000 * OnePly;
+const int HistoryMax = 50000 * ONE_PLY;
+////
+//// Inline functions
+////
+
+inline int History::value(Piece p, Square to) const {
+ return history[p][to];
+}
+
+inline Value History::gain(Piece p, Square to) const {
+ return Value(maxStaticValueDelta[p][to]);
+}
+
#endif // !defined(HISTORY_H_INCLUDED)