Fix under-promotion hash mixup
authorH.G. Muller <h.g.muller@hccnet.nl>
Thu, 3 Nov 2011 16:37:34 +0000 (17:37 +0100)
committerH.G. Muller <h.g.muller@hccnet.nl>
Thu, 3 Nov 2011 16:37:34 +0000 (17:37 +0100)
commita93cdacb82bd916e110d71611754bb9ef9be1e67
tree491324ef3d74674dc4c97fe643185e3d1f7d8b9a
parent6cd25f6e4f2a524bdd85f34583e47afbae746488
Fix under-promotion hash mixup

The hash table was invalidated on under-promotion by adding the promotion
'deficit' to the J hash key. But for some fairy-pieces (in particular
Spartan G vs W) this difference apparently caused false hits in the
null-move search, leading to misqualification of positions as stalemate.
Presumably because the J key is also modified by stm, and different
stm and promo-deficit could cancel each other. In stead we now modify
the Z hash key with the promo-deficit.
fairymax.c