mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-21 17:46:26 +08:00
Use calloc() in TranspositionTable::set_size()
Function calloc() already initializes memory to zero, so avoid calling clear() afterwards. Also some renaming while there (inspired by DiscoCheck). No functional change.
This commit is contained in:
15
src/tt.h
15
src/tt.h
@@ -34,27 +34,26 @@
|
||||
/// static value: 16 bit
|
||||
/// static margin: 16 bit
|
||||
|
||||
class TTEntry {
|
||||
struct TTEntry {
|
||||
|
||||
public:
|
||||
void save(uint32_t k, Value v, Bound b, Depth d, Move m, int g, Value ev, Value em) {
|
||||
|
||||
key32 = (uint32_t)k;
|
||||
move16 = (uint16_t)m;
|
||||
bound = (uint8_t)b;
|
||||
bound8 = (uint8_t)b;
|
||||
generation8 = (uint8_t)g;
|
||||
value16 = (int16_t)v;
|
||||
depth16 = (int16_t)d;
|
||||
evalValue = (int16_t)ev;
|
||||
evalMargin = (int16_t)em;
|
||||
}
|
||||
void set_generation(int g) { generation8 = (uint8_t)g; }
|
||||
void set_generation(uint8_t g) { generation8 = g; }
|
||||
|
||||
uint32_t key() const { return key32; }
|
||||
Depth depth() const { return (Depth)depth16; }
|
||||
Move move() const { return (Move)move16; }
|
||||
Value value() const { return (Value)value16; }
|
||||
Bound type() const { return (Bound)bound; }
|
||||
Bound bound() const { return (Bound)bound8; }
|
||||
int generation() const { return (int)generation8; }
|
||||
Value eval_value() const { return (Value)evalValue; }
|
||||
Value eval_margin() const { return (Value)evalMargin; }
|
||||
@@ -62,7 +61,7 @@ public:
|
||||
private:
|
||||
uint32_t key32;
|
||||
uint16_t move16;
|
||||
uint8_t bound, generation8;
|
||||
uint8_t bound8, generation8;
|
||||
int16_t value16, depth16, evalValue, evalMargin;
|
||||
};
|
||||
|
||||
@@ -81,7 +80,7 @@ public:
|
||||
~TranspositionTable() { free(mem); }
|
||||
void new_search() { generation++; }
|
||||
|
||||
TTEntry* probe(const Key key) const;
|
||||
const TTEntry* probe(const Key key) const;
|
||||
TTEntry* first_entry(const Key key) const;
|
||||
void refresh(const TTEntry* tte) const;
|
||||
void set_size(size_t mbSize);
|
||||
@@ -92,7 +91,7 @@ private:
|
||||
uint32_t hashMask;
|
||||
TTEntry* table;
|
||||
void* mem;
|
||||
uint8_t generation; // Size must be not bigger then TTEntry::generation8
|
||||
uint8_t generation; // Size must be not bigger than TTEntry::generation8
|
||||
};
|
||||
|
||||
extern TranspositionTable TT;
|
||||
|
||||
Reference in New Issue
Block a user