////
#include <cassert>
-#include <cmath>
#include <cstring>
#include "movegen.h"
TranspositionTable::TranspositionTable() {
- size = overwrites = 0;
+ size = 0;
entries = 0;
generation = 0;
}
<< " MB for transposition table." << std::endl;
Application::exit_with_failure();
}
- clear();
}
}
replace = tte;
}
replace->save(posKey32, v, t, d, m, generation, statV, kingD);
- overwrites++;
}
/// entries from the current search.
void TranspositionTable::new_search() {
-
generation++;
- overwrites = 0;
}
}
pv[ply] = MOVE_NONE;
}
-
-
-/// TranspositionTable::full() returns the permill of all transposition table
-/// entries which have received at least one overwrite during the current search.
-/// It is used to display the "info hashfull ..." information in UCI.
-
-int TranspositionTable::full() const {
-
- double N = double(size) * ClusterSize;
- return int(1000 * (1 - exp(overwrites * log(1.0 - 1.0/N))));
-}