Skip to content

Commit

Permalink
Remove insufficient material rule
Browse files Browse the repository at this point in the history
The eval already returns zero in KK, KBK, KNK (see material.cpp). The difference is:
- we lose the "TB pruning" benefit of the draw rule (ie. search goes on even if eval is zero)
- we gain some speed by removing a useless test from the hot path

STC:
LLR: 0.05 (-2.94,2.94) [-3.00,1.00]
Total: 128000 W: 21357 L: 21560 D: 85083

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 33023 W: 4613 L: 4509 D: 23901

bench 7461881
  • Loading branch information
joergoster authored and lucasart committed Aug 6, 2014
1 parent 888a1d3 commit 9da0155
Showing 1 changed file with 0 additions and 4 deletions.
4 changes: 0 additions & 4 deletions src/position.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1116,10 +1116,6 @@ Value Position::see(Move m) const {

bool Position::is_draw() const {

if ( !pieces(PAWN)
&& (non_pawn_material(WHITE) + non_pawn_material(BLACK) <= BishopValueMg))
return true;

if (st->rule50 > 99 && (!checkers() || MoveList<LEGAL>(*this).size()))
return true;

Expand Down

0 comments on commit 9da0155

Please sign in to comment.