/*
Stockfish, a UCI chess playing engine derived from Glaurung 2.1
Copyright (C) 2004-2008 Tord Romstad (Glaurung author)
- Copyright (C) 2008 Marco Costalba
+ Copyright (C) 2008-2009 Marco Costalba
Stockfish is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
};
enum SignedDirection {
- SIGNED_DIR_E = 0, SIGNED_DIR_W = 1,
- SIGNED_DIR_N = 2, SIGNED_DIR_S = 3,
+ SIGNED_DIR_E = 0, SIGNED_DIR_W = 1,
+ SIGNED_DIR_N = 2, SIGNED_DIR_S = 3,
SIGNED_DIR_NE = 4, SIGNED_DIR_SW = 5,
SIGNED_DIR_NW = 6, SIGNED_DIR_SE = 7,
SIGNED_DIR_NONE = 8
//// Inline functions
////
-inline void operator++ (Direction &d, int) { d = Direction(int(d) + 1); }
+inline void operator++ (Direction& d, int) {
+ d = Direction(int(d) + 1);
+}
-inline void operator++ (SignedDirection &d, int) {
+inline void operator++ (SignedDirection& d, int) {
d = SignedDirection(int(d) + 1);
}
return SignedDirection(SignedDirectionTable[s1][s2]);
}
+inline int direction_is_diagonal(Square s1, Square s2) {
+ return DirectionTable[s1][s2] & 2;
+}
+
+inline bool direction_is_straight(Square s1, Square s2) {
+ return DirectionTable[s1][s2] < 2;
+}
////
//// Prototypes