aboutsummaryrefslogtreecommitdiff
path: root/src/utils/constants.h
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2025-04-01 09:33:26 +0200
committerSebastiano Tronto <sebastiano@tronto.net>2025-04-01 09:33:26 +0200
commitb0053277e385bee23336d1fe6b69a12f49f9172f (patch)
tree531e44cd6f8e807c991d0a46692140667939fbe3 /src/utils/constants.h
parentb6c1ff6cfdfe0f4ce602fe83e54c3112a1c95690 (diff)
downloadnissy-core-b0053277e385bee23336d1fe6b69a12f49f9172f.tar.gz
nissy-core-b0053277e385bee23336d1fe6b69a12f49f9172f.zip
simplified allowedmoves logic
Diffstat (limited to 'src/utils/constants.h')
-rw-r--r--src/utils/constants.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/utils/constants.h b/src/utils/constants.h
index a6c6b7a..ba7f4d4 100644
--- a/src/utils/constants.h
+++ b/src/utils/constants.h
@@ -102,7 +102,17 @@ STATIC int64_t binomial[12][12] = {
102 102
103#define MM_ALLMOVES UINT32_C(0x3FFFF) 103#define MM_ALLMOVES UINT32_C(0x3FFFF)
104#define MM_NOHALFTURNS UINT32_C(0x2DB6D) 104#define MM_NOHALFTURNS UINT32_C(0x2DB6D)
105#define MM_SIDE(m) (UINT32_C(7) << (uint32_t)(m)) 105#define MM_SINGLE(m) (UINT32_C(1) << (uint32_t)(m))
106#define MM_FACE(m) (UINT32_C(7) << (uint32_t)(m))
107#define MM_EO (\
108 MM_FACE(MOVE_U) | MM_FACE(MOVE_D) |\
109 MM_FACE(MOVE_R) | MM_FACE(MOVE_L) |\
110 MM_SINGLE(MOVE_F2) | MM_SINGLE(MOVE_B2))
111#define MM_DR (\
112 MM_FACE(MOVE_U) | MM_FACE(MOVE_D) |\
113 MM_SINGLE(MOVE_R2) | MM_SINGLE(MOVE_L2) |\
114 MM_SINGLE(MOVE_F2) | MM_SINGLE(MOVE_B2))
115#define MM_HTR (MM_ALLMOVES & ~MM_NOHALFTURNS)
106 116
107#define TM_ALLTRANS UINT64_C(0xFFFFFFFFFFFF) 117#define TM_ALLTRANS UINT64_C(0xFFFFFFFFFFFF)
108#define TM_SINGLE(t) (UINT64_C(1) << (uint64_t)(t)) 118#define TM_SINGLE(t) (UINT64_C(1) << (uint64_t)(t))
@@ -151,6 +161,15 @@ STATIC int64_t binomial[12][12] = {
151#define EFLIP UINT8_C(0x10) 161#define EFLIP UINT8_C(0x10)
152#define UINT8_ERROR UINT8_MAX 162#define UINT8_ERROR UINT8_MAX
153 163
164STATIC const uint32_t allowedmask[] = {
165 UINT32_C(0x3FFF8),
166 UINT32_C(0x3FFC0),
167 UINT32_C(0x3FE3F),
168 UINT32_C(0x3F03F),
169 UINT32_C(0x38FFF),
170 UINT32_C(0x00FFF)
171};
172
154STATIC const char *cornerstr[] = { 173STATIC const char *cornerstr[] = {
155 [CORNER_UFR] = "UFR", 174 [CORNER_UFR] = "UFR",
156 [CORNER_UBL] = "UBL", 175 [CORNER_UBL] = "UBL",

Generated with cgit - Back to sebastiano.tronto.net