summaryrefslogtreecommitdiff
path: root/magic_machine.py
diff options
context:
space:
mode:
authorroot <root@annapurna.annapurna.fitness>2025-07-09 15:50:50 +0200
committerroot <root@annapurna.annapurna.fitness>2025-07-09 15:50:50 +0200
commite07a195bdd87932b9d00d3d680a9a5a747359566 (patch)
tree002bc641d9a0955eb7689c30398dfe4ed57cdde8 /magic_machine.py
initial commitHEADmaster
Diffstat (limited to 'magic_machine.py')
-rw-r--r--magic_machine.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/magic_machine.py b/magic_machine.py
new file mode 100644
index 0000000..7a9658e
--- /dev/null
+++ b/magic_machine.py
@@ -0,0 +1,37 @@
+import piece_move_tables
+
+def all_pos_rook(idx: int):
+ for left in piece_move_tables.L_BORDER_MASK[idx]:
+ for right in piece_move_tables.R_BORDER_MASK[idx]:
+ for up in piece_move_tables.U_BORDER_MASK[idx]:
+ for down in piece_move_tables.D_BORDER_MASK[idx]:
+ yield left | right | up | down
+
+def all_pos_bishop(idx: int):
+ for left_up in piece_move_tables.LU_BORDER_MASK[idx]:
+ for left_down in piece_move_tables.LD_BORDER_MASK[idx]:
+ for right_up in piece_move_tables.RU_BORDER_MASK[idx]:
+ for right_down in piece_move_tables.RD_BORDER_MASK[idx]:
+ yield left_up | left_down | right_up | right_down
+
+def all_pos_queen(idx: int):
+ for rook_directions in all_pos_rook(idx):
+ for bishop_directions in all_pos_bishop(idx):
+ yield rook_directions | bishop_directions
+
+def forever_magics():
+ yield
+
+import time
+starttime = time.time()
+
+for _ in range(10):
+ for pos in all_pos_queen(30):
+ var = pos
+ print('yes')
+
+# 21.63
+# 16.22
+
+exectime = round(time.time() - starttime, 2)
+print('exectime >', exectime) \ No newline at end of file