CASTLE = 3 << 14
};
+enum CheckType {
+ NO_CHECK,
+ DIRECT_CHECK,
+ DISCO_CHECK
+};
+
enum CastleRight { // Defined as in PolyGlot book hash key
CASTLES_NONE = 0,
WHITE_OO = 1,
}
inline char file_to_char(File f) {
- return char(f - FILE_A + int('a'));
+ return char(f - FILE_A + 'a');
}
inline char rank_to_char(Rank r) {
- return char(r - RANK_1 + int('1'));
+ return char(r - RANK_1 + '1');
}
inline Square pawn_push(Color c) {
/// Our insertion sort implementation, works with pointers and iterators and is
/// guaranteed to be stable, as is needed.
template<typename T, typename K>
-void sort(K first, K last)
+void sort(K begin, K end)
{
T tmp;
K p, q;
- for (p = first + 1; p < last; p++)
+ for (p = begin + 1; p < end; p++)
{
tmp = *p;
- for (q = p; q != first && *(q-1) < tmp; --q)
+ for (q = p; q != begin && *(q-1) < tmp; --q)
*q = *(q-1);
*q = tmp;
}