TT: 增加 TRANSPOSITION_TABLE_FAKE_CLEAN_NOT_EXACT_ONLY 宏但不启用

开启后,对于确切值的TT值,开始新的搜索前不会清除。
This commit is contained in:
Calcitem 2020-05-13 00:46:36 +08:00
parent ca67ed76f1
commit b69de7f09a
2 changed files with 9 additions and 3 deletions

View File

@ -87,6 +87,7 @@
#ifdef TRANSPOSITION_TABLE_ENABLE
#define CLEAR_TRANSPOSITION_TABLE
#define TRANSPOSITION_TABLE_FAKE_CLEAN
//#define TRANSPOSITION_TABLE_FAKE_CLEAN_NOT_EXACT_ONLY
//#define TRANSPOSITION_TABLE_CUTDOWN
//#define TT_MOVE_ENABLE
//#define TRANSPOSITION_TABLE_DEBUG

View File

@ -44,10 +44,15 @@ value_t TT::probeHash(const hash_t &hash,
}
#ifdef TRANSPOSITION_TABLE_FAKE_CLEAN
if (hashValue.age != transpositionTableAge)
{
return VALUE_UNKNOWN;
#ifdef TRANSPOSITION_TABLE_FAKE_CLEAN_NOT_EXACT_ONLY
if (hashValue.type != BOUND_EXACT) {
#endif
if (hashValue.age != transpositionTableAge) {
return VALUE_UNKNOWN;
}
#ifdef TRANSPOSITION_TABLE_FAKE_CLEAN_NOT_EXACT_ONLY
}
#endif
#endif // TRANSPOSITION_TABLE_FAKE_CLEAN
if (depth > hashValue.depth) {