/*
Stockfish, a UCI chess playing engine derived from Glaurung 2.1
Copyright (C) 2004-2008 Tord Romstad (Glaurung author)
- Copyright (C) 2008-2010 Marco Costalba, Joona Kiiski, Tord Romstad
+ Copyright (C) 2008-2012 Marco Costalba, Joona Kiiski, Tord Romstad
Stockfish is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#define FORCE_INLINE inline
#endif
-/// cpu_has_popcnt() detects support for popcnt instruction at runtime
-inline bool cpu_has_popcnt() {
- int CPUInfo[4] = {-1};
- __cpuid(CPUInfo, 0x00000001);
- return (CPUInfo[2] >> 23) & 1;
-}
-
-/// CpuHasPOPCNT is a global constant initialized at startup that
-/// is set to true if CPU on which application runs supports popcnt
-/// hardware instruction. Unless USE_POPCNT is not defined.
+/// HasPopCnt is a global constant initialized at compile time that is set to
+/// true if CPU on which application runs supports popcnt hardware instruction.
#if defined(USE_POPCNT)
-const bool CpuHasPOPCNT = cpu_has_popcnt();
+const bool HasPopCnt = true;
#else
-const bool CpuHasPOPCNT = false;
+const bool HasPopCnt = false;
#endif
-/// CpuIs64Bit is a global constant initialized at compile time that
-/// is set to true if CPU on which application runs is a 64 bits.
+/// Is64Bit is a global constant initialized at compile time that is set to
+/// true if CPU on which application runs is a 64 bits.
#if defined(IS_64BIT)
-const bool CpuIs64Bit = true;
+const bool Is64Bit = true;
#else
-const bool CpuIs64Bit = false;
+const bool Is64Bit = false;
#endif
#include <string>
RANK_1, RANK_2, RANK_3, RANK_4, RANK_5, RANK_6, RANK_7, RANK_8
};
-enum SquareColor {
- DARK, LIGHT
-};
-
enum ScaleFactor {
SCALE_FACTOR_DRAW = 0,
SCALE_FACTOR_NORMAL = 64,
return relative_rank(c, rank_of(s));
}
-inline SquareColor color_of(Square s) {
- return SquareColor(int(rank_of(s) + s) & 1);
-}
-
inline bool opposite_colors(Square s1, Square s2) {
int s = s1 ^ s2;
return ((s >> 3) ^ s) & 1;