//// Includes
////
-#ifdef _MSC_VER\r
- #include <intrin.h>\r
- #ifdef _WIN64\r
- #pragma intrinsic(_BitScanForward64)\r
- #else\r
- #pragma intrinsic(_BitScanForward)\r
- #endif\r
- #define USING_INTRINSICS\r
+#ifdef _MSC_VER
+ #include <intrin.h>
+ #ifdef _WIN64
+ #pragma intrinsic(_BitScanForward64)
+ #else
+ #pragma intrinsic(_BitScanForward)
+ #endif
+ #define USING_INTRINSICS
#endif
#include <iostream>
#if defined(USE_COMPACT_ROOK_ATTACKS)
void init_file_and_rank_attacks();
#endif
-};
+}
////
Square pop_1st_bit(Bitboard *b) {
- unsigned long index;\r
- uint32_t *l, *h;\r
-\r
- if (*(l = (uint32_t*)b) != 0)\r
- {\r
- _BitScanForward(&index, *l);\r
- *l &= ~(1 << index);\r
- } \r
- else if (*(h = (uint32_t*)b + 1) != 0)\r
- {\r
- _BitScanForward(&index, *h);\r
- *h &= ~(1 << index);\r
- index += 32;\r
- } else\r
- return SQ_NONE;\r
-\r
+ unsigned long index;
+ uint32_t *l, *h;
+
+ if (*(l = (uint32_t*)b) != 0)
+ {
+ _BitScanForward(&index, *l);
+ *l &= ~(1 << index);
+ }
+ else if (*(h = (uint32_t*)b + 1) != 0)
+ {
+ _BitScanForward(&index, *h);
+ *h &= ~(1 << index);
+ index += 32;
+ } else
+ return SQ_NONE;
+
return Square(index);
}