Do not prune the move if we are still under mate
authorMarco Costalba <mcostalba@gmail.com>
Wed, 14 Oct 2009 08:18:16 +0000 (09:18 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Thu, 15 Oct 2009 17:52:21 +0000 (18:52 +0100)
commitc1ea5ed6f7204afd6cb03a80ca8d124bd82cc40d
treec3e3edfbec871efc4fa37503bf019416bc534087
parent53f882ff1a95d444dd9b3cd0eb39d493d0e6280e
Do not prune the move if we are still under mate

If after the first tried 2 + int(depth) moves we still
have no any move that takes us out of a mate then do
not prune the following move, it is more important to
escape mate then speed up search.

This fixes an odd behaviour regarding mates, as example
the following diagram is a mate in 4, not in 3 as bogusly
reported before this patch.

1B2n3/8/2R5/5p2/3kp1n1/4p3/B3K3/8 w - - bm #4;

The performance impact should be minimal, the increment
in searched nodes is less then 0.1 %%

Idea and patch by Joona

After 999 games at 1+0
Mod vs Orig +193 =604 -202  -3 ELO

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