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:
Marco Costalba
2013-06-29 10:23:43 +02:00
parent 17d41b3861
commit 203fdc9ac1
3 changed files with 42 additions and 44 deletions

View File

@@ -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;