mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-23 02:27:00 +08:00
Allow for higher depths. (#2147)
High rootDepths, selDepths and generally searches are increasingly common with long time control games, analysis, and improving hardware. In this case, depths of MAX_DEPTH/MAX_PLY (128) can be reached, and the search tree is truncated. In principle MAX_PLY can be easily increased, except for a technicality of storing depths in a signed 8 bit int in the TT. This patch increases MAX_PLY by storing the depth in an unsigned 8 bit, after shifting by the most negative depth stored in TT (DEPTH_NONE). No regression at STC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 42235 W: 9565 L: 9484 D: 23186 http://tests.stockfishchess.org/tests/view/5cdb35360ebc5925cf0595e1 Verified to reach high depths on k1b5/1p1p4/pP1Pp3/K2pPp2/1P1p1P2/3P1P2/5P2/8 w - - info depth 142 seldepth 154 multipv 1 score cp 537 nodes 26740713110 ... No bench change.
This commit is contained in:
committed by
Marco Costalba
parent
7df832fea6
commit
893a08a8c2
4
src/tt.h
4
src/tt.h
@@ -40,7 +40,7 @@ struct TTEntry {
|
||||
Move move() const { return (Move )move16; }
|
||||
Value value() const { return (Value)value16; }
|
||||
Value eval() const { return (Value)eval16; }
|
||||
Depth depth() const { return (Depth)(depth8 * int(ONE_PLY)); }
|
||||
Depth depth() const { return (Depth)(depth8 * int(ONE_PLY)) + DEPTH_NONE; }
|
||||
bool is_pv() const { return (bool)(genBound8 & 0x4); }
|
||||
Bound bound() const { return (Bound)(genBound8 & 0x3); }
|
||||
void save(Key k, Value v, bool pv, Bound b, Depth d, Move m, Value ev);
|
||||
@@ -53,7 +53,7 @@ private:
|
||||
int16_t value16;
|
||||
int16_t eval16;
|
||||
uint8_t genBound8;
|
||||
int8_t depth8;
|
||||
uint8_t depth8;
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user