From 09acdac56bd419a68126e8a0ac6dc868d3d11ec5 Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Thu, 20 Sep 2012 19:25:27 +0200 Subject: [PATCH] Fix compile on 64 bits Reported by Quocvuong82. No functional change. --- src/bitboard.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/bitboard.cpp b/src/bitboard.cpp index 994279cc..dd5b5799 100644 --- a/src/bitboard.cpp +++ b/src/bitboard.cpp @@ -72,6 +72,16 @@ namespace { void init_magics(Bitboard table[], Bitboard* attacks[], Bitboard magics[], Bitboard masks[], unsigned shifts[], Square deltas[], Fn index); + + FORCE_INLINE unsigned bsf_index(Bitboard b) { + + if (Is64Bit) + return ((b & -b) * DeBruijn_64) >> 58; + + // Use Matt Taylor's folding trick for 32 bit systems + b ^= (b - 1); + return ((unsigned(b) ^ unsigned(b >> 32)) * DeBruijn_32) >> 26; + } } /// lsb()/msb() finds the least/most significant bit in a nonzero bitboard. @@ -79,16 +89,6 @@ namespace { #if !defined(USE_BSFQ) -FORCE_INLINE unsigned bsf_index(Bitboard b) { - - if (Is64Bit) - return ((b & -b) * DeBruijn_64) >> 58; - - // Use Matt Taylor's folding trick for 32 bit systems - b ^= (b - 1); - return ((unsigned(b) ^ unsigned(b >> 32)) * DeBruijn_32) >> 26; -} - Square lsb(Bitboard b) { return BSFTable[bsf_index(b)]; } Square pop_lsb(Bitboard* b) { -- 2.39.2