Razor on ply one if the advantage is more then a pawn,
the only way to gap the advantage is to capture, so
go directly in quiesce.
This seems to have a positive effect.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
A bunch of Intel C++ warnings removed, other silent out.
Still few remaining but need deeper look.
Also usual whitespace crap removal noise.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Because razoring is reached 10% of times and about 50% of time
first two conditions are met we can save 5% of calls to the fairly
costly evaluate().
On the other side statistics have shown 95% of nodes that pass
the first two razoring conditions pass also the evaluate() test.
So the risk of dropping the third condition seems low enough.
Testing seems to validate this.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Now I/O is fully done with C++ iostreams.
The only exception is in non-windows version
of Bioskey() in misc.cpp
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This patch modifies think() signature to accept
also opponent time. This is needed for future
changes to time managment.
Still no functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
When a move produces a beta-cut off is marked as
success in history and all the remaining ones are
marked as failures.
The loop across the searched moves, that is used
to register failures, does not skip the good one,
that is then registered as a failure too.
The patch fixes the bug and cleanup the code.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
sort() and sort_multipv() are almost the same, so
use only one implementation.
Also introduce the natural RootMove::operator<() to
compare the moves instead of compare_root_moves(),
this will allow to use std::sort instead of our
home grown bubble-sort.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Moves are already sorted, so just consider the best
and the second one.
Some trailing whitespace remove noise crept in due
to my editor removes it before to save.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>