Skip to content
Browse files

Bugfix: KRK was not classified as KNOWN_WIN

Problem is that npMaterial is compared to _endgame_ value
of rook, although npMaterial is always (also in endgame!)
calculated using _middlegame_ values.

Bug was hidden as long as Rook middlegame
and endgame values were same.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
  • Loading branch information...
1 parent 8225fdd commit 46c0bdb74f104aa8a293c660689f84aae3ca75b3 @zamar zamar committed with Jun 17, 2009
Showing with 2 additions and 2 deletions.
  1. +2 −2 src/material.cpp
View
4 src/material.cpp
@@ -143,14 +143,14 @@ MaterialInfo* MaterialInfoTable::get_material_info(const Position& pos) {
else if ( pos.non_pawn_material(BLACK) == Value(0)
&& pos.piece_count(BLACK, PAWN) == 0
- && pos.non_pawn_material(WHITE) >= RookValueEndgame)
+ && pos.non_pawn_material(WHITE) >= RookValueMidgame)
{
mi->evaluationFunction = &EvaluateKXK;
return mi;
}
else if ( pos.non_pawn_material(WHITE) == Value(0)
&& pos.piece_count(WHITE, PAWN) == 0
- && pos.non_pawn_material(BLACK) >= RookValueEndgame)
+ && pos.non_pawn_material(BLACK) >= RookValueMidgame)
{
mi->evaluationFunction = &EvaluateKKX;
return mi;

0 comments on commit 46c0bdb

Please sign in to comment.
Something went wrong with that request. Please try again.