aboutsummaryrefslogtreecommitdiff
path: root/magic_finder.c
diff options
context:
space:
mode:
Diffstat (limited to 'magic_finder.c')
-rw-r--r--magic_finder.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/magic_finder.c b/magic_finder.c
index 50c4279..ee21587 100644
--- a/magic_finder.c
+++ b/magic_finder.c
@@ -4,6 +4,8 @@
#include <string.h>
#include <time.h>
+// TODO: make magic bitboards use diffrent shift for each magic number (maybe)
+
static int popcount(uint64_t b) { return __builtin_popcountll(b); }
static uint64_t computeRookMask(int sq) {
@@ -165,11 +167,13 @@ int main(int argc, char *argv[]) {
uint64_t rookMags[64], bishopMags[64];
uint64_t rookMasks[64], bishopMasks[64];
- fprintf(stderr, "Finding per-square rook magics (shift %d, table size %llu)...\n",
+ fprintf(stderr,
+ "Finding per-square rook magics (shift %d, table size %llu)...\n",
shift, (unsigned long long)(1ULL << (64 - shift)));
for (int sq = 0; sq < 64; sq++) {
rookMasks[sq] = computeRookMask(sq);
- if (!findMagic(rookMasks[sq], computeRookAttacks, sq, shift, &rookMags[sq])) {
+ if (!findMagic(rookMasks[sq], computeRookAttacks, sq, shift,
+ &rookMags[sq])) {
fprintf(stderr, "FAILED to find rook magic for square %d\n", sq);
return 1;
}