mirror of
https://github.com/sockspls/badfish
synced 2025-07-12 03:59:15 +00:00
TTEntry simplification
Now that move is fitted in 16 bits we can simplify TTEntry. No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
15153a1de7
commit
06c14d0a37
1 changed files with 18 additions and 14 deletions
26
src/tt.h
26
src/tt.h
|
@ -86,33 +86,37 @@ protected:
|
||||||
class TTEntry {
|
class TTEntry {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void save(uint32_t k, Value v, ValueType t, Depth d, Move m, int g, Value statV, Value kd) {
|
void save(uint32_t k, Value v, ValueType t, Depth d, Move m, int g, Value statV, Value statM) {
|
||||||
|
|
||||||
key32 = k;
|
key32 = (uint32_t)k;
|
||||||
data = (m & 0xFFFF) | (t << 21) | (g << 23);
|
move16 = (uint16_t)m;
|
||||||
|
valueType = (uint8_t)t;
|
||||||
|
generation8 = (uint8_t)g;
|
||||||
value16 = (int16_t)v;
|
value16 = (int16_t)v;
|
||||||
depth16 = (int16_t)d;
|
depth16 = (int16_t)d;
|
||||||
staticValue = (int16_t)statV;
|
staticValue = (int16_t)statV;
|
||||||
staticValueMargin = (int16_t)kd;
|
staticMargin = (int16_t)statM;
|
||||||
}
|
}
|
||||||
void set_generation(int g) { data = move() | (type() << 21) | (g << 23); }
|
void set_generation(int g) { generation8 = (uint8_t)g; }
|
||||||
|
|
||||||
uint32_t key() const { return key32; }
|
uint32_t key() const { return key32; }
|
||||||
Depth depth() const { return Depth(depth16); }
|
Depth depth() const { return Depth(depth16); }
|
||||||
Move move() const { return Move(data & 0xFFFF); }
|
Move move() const { return Move(move16); }
|
||||||
Value value() const { return Value(value16); }
|
Value value() const { return Value(value16); }
|
||||||
ValueType type() const { return ValueType((data >> 21) & 3); }
|
ValueType type() const { return ValueType(valueType); }
|
||||||
int generation() const { return data >> 23; }
|
int generation() const { return generation8; }
|
||||||
Value static_value() const { return Value(staticValue); }
|
Value static_value() const { return Value(staticValue); }
|
||||||
Value static_value_margin() const { return Value(staticValueMargin); }
|
Value static_value_margin() const { return Value(staticMargin); }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
uint32_t key32;
|
uint32_t key32;
|
||||||
uint32_t data;
|
uint16_t move16;
|
||||||
|
uint8_t valueType;
|
||||||
|
uint8_t generation8;
|
||||||
int16_t value16;
|
int16_t value16;
|
||||||
int16_t depth16;
|
int16_t depth16;
|
||||||
int16_t staticValue;
|
int16_t staticValue;
|
||||||
int16_t staticValueMargin;
|
int16_t staticMargin;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue