Unusually good result. Defenitly needs further verifications.
After 2160 games at 15"+0.05
Mod vs Orig 486 - 367 - 1307 ELO +19
bench:
6261882
documentation for your GUI of choice for information about how to use
Stockfish with it.
-This version of Stockfish supports up to 32 CPUs, but has not been
+This version of Stockfish supports up to 64 CPUs, but has not been
tested thoroughly with more than 4. The program tries to detect the
number of CPUs on your computer and sets the number of search threads
accordingly, but please be aware that the detection is not always
return false;
// The destination square cannot be occupied by a friendly piece
- if (color_of(piece_on(to)) == us)
+ if (piece_on(to) != NO_PIECE && color_of(piece_on(to)) == us)
return false;
// Handle the special case of a pawn move
case DELTA_SE:
// Capture. The destination square must be occupied by an enemy
// piece (en passant captures was handled earlier).
- if (color_of(piece_on(to)) != them)
+ if (piece_on(to) == NO_PIECE || color_of(piece_on(to)) != them)
return false;
// From and to files must be one file apart, avoids a7h5
PieceType capture = type_of(m) == ENPASSANT ? PAWN : type_of(piece_on(to));
assert(color_of(piece) == us);
- assert(color_of(piece_on(to)) != us);
+ assert(piece_on(to) == NO_PIECE || color_of(piece_on(to)) == them);
assert(capture != KING);
if (capture)
#include "position.h"
#include "search.h"
-const int MAX_THREADS = 32;
+const int MAX_THREADS = 64; // Because SplitPoint::slavesMask is a uint64_t
const int MAX_SPLITPOINTS_PER_THREAD = 8;
struct Mutex {
/// | only in 64-bit mode. For compiling requires hardware with
/// | popcnt support.
+#include <cassert>
#include <cctype>
#include <climits>
#include <cstdlib>
}
inline Color color_of(Piece p) {
- return p == NO_PIECE ? NO_COLOR : Color(p >> 3);
+ assert(p != NO_PIECE);
+ return Color(p >> 3);
}
inline bool is_ok(Square s) {