Implement PEXT based attacks

According to:

https://chessprogramming.wikispaces.com/BMI2#PEXTBitboards

No functional change.
This commit is contained in:
Marco Costalba
2014-04-07 16:27:14 +02:00
parent 2bfe61c33b
commit c556fe1d71
3 changed files with 18 additions and 1 deletions

View File

@@ -243,6 +243,9 @@ FORCE_INLINE unsigned magic_index(Square s, Bitboard occ) {
Bitboard* const Magics = Pt == ROOK ? RMagics : BMagics;
unsigned* const Shifts = Pt == ROOK ? RShifts : BShifts;
if (HasPext)
return unsigned(pext(occ, Masks[s]));
if (Is64Bit)
return unsigned(((occ & Masks[s]) * Magics[s]) >> Shifts[s]);