Fix a bug in insert_pv() where minimum depth is zero
authorMarco Costalba <mcostalba@gmail.com>
Mon, 23 Mar 2009 14:30:20 +0000 (15:30 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Mon, 23 Mar 2009 14:30:20 +0000 (15:30 +0100)
We implicitly considered the minimum depth stored in TT
to be Depth(0), but because we store values in TT also in
qsearch() where depth is < 0, we need to use a negative
number as minimum depth.

Bug spotted by Joona Kiiski.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
src/tt.cpp

index 185410e..83c9f50 100644 (file)
@@ -182,7 +182,7 @@ void TranspositionTable::insert_pv(const Position &pos, Move pv[]) {
 
   for (int i = 0; pv[i] != MOVE_NONE; i++)
   {
-    store(p, VALUE_NONE, Depth(0), pv[i], VALUE_TYPE_NONE);
+    store(p, VALUE_NONE, Depth(-127*OnePly), pv[i], VALUE_TYPE_NONE);
     p.do_move(pv[i], st);
   }
 }