1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-29 16:23:09 +00:00

Use Movepick SEE value in search

This halves the calls to the costly pos.see_sign(),
speed up is about 1-1.3%

Non functional change.
This commit is contained in:
Marco Costalba 2016-09-09 08:38:44 +02:00
parent d909d10f33
commit 602d7fbb07
3 changed files with 8 additions and 1 deletions

View file

@ -243,6 +243,11 @@ void MovePicker::generate_next_stage() {
}
}
int MovePicker::see_sign() const
{
return stage == GOOD_CAPTURES ? 1
: stage == BAD_CAPTURES ? -1 : 0;
}
/// next_move() is the most important method of the MovePicker class. It returns
/// a new pseudo legal move every time it is called, until there are no more moves

View file

@ -104,6 +104,7 @@ public:
MovePicker(const Position&, Move, Depth, Search::Stack*);
Move next_move();
int see_sign() const;
private:
template<GenType> void score();

View file

@ -958,7 +958,8 @@ moves_loop: // When in check search starts from here
}
}
else if ( depth < 3 * ONE_PLY
&& pos.see_sign(move) < VALUE_ZERO)
&& ( mp.see_sign() < 0
|| (!mp.see_sign() && pos.see_sign(move) < VALUE_ZERO)))
continue;
}