From 7a4c7dd46d3d90dfd2ddc6ca7efa10188ea1d456 Mon Sep 17 00:00:00 2001 From: stefiosif Date: Wed, 15 Jul 2026 19:37:29 +0300 Subject: [PATCH] Compare with original alpha to decide node type --- src/search/negamax.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/search/negamax.rs b/src/search/negamax.rs index db6f487..a71f95a 100644 --- a/src/search/negamax.rs +++ b/src/search/negamax.rs @@ -106,6 +106,9 @@ pub fn negamax( ) }); + // Keep alpha before the loop raises it, so the TT node type uses + // the window we actually searched for this node + let alpha_original = alpha; let mut legal_moves = 0; let mut best_move = entry.and_then(|entry| entry.mv); let mut best_score = MIN_SCORE; @@ -187,7 +190,7 @@ pub fn negamax( let node_type = match best_score { s if s >= beta => NodeType::LowerBound, - s if s <= alpha => NodeType::UpperBound, + s if s <= alpha_original => NodeType::UpperBound, _ => NodeType::Exact, };