Yes, that would work, and could also help to make things like the move generator completely symmetric. The problem is that (as far as I know) there is no elegant, efficient and portable way to do a reverse bitscan. Perhaps I should test if bitscanning by table lookup is fast enough.Aleks Peshkov wrote:Crafty used (at least in past and at least in some specific situations) opposite bitscans for opposite sides.
The search may not quite explode, but in my experience extending all passed pawn pushes inflates the search tree far too much (even if only half-ply extensions are used, and reduces the playing strength). Currently I only extend pawn pushes to the 7th rank by half a ply.But I think the source of the problem that in general dynamic things like SEE should not be comparable with static features.
IMHO search depth extensions on passed pawn pushes would lead to more precise evaluation of highly important and highly dynamic nature of passed pawns. Passed pawn push is a rare and irreversible move, so the search can not to explode.
Moreover, even if extending all passed pawn pushes were not too expensive, it wouldn't be good enough, because we have to evaluate positions with passed pawns in the quiescence search. Searching all passed pawn pushes in the quiescence search would also not be sufficient, because we also have to evaluate passed pawns for the side not to move.
Tord