aboutsummaryrefslogtreecommitdiff
path: root/include/actions.h
diff options
context:
space:
mode:
authortslil clingman <tslil@posteo.de>2021-01-30 16:47:48 -0500
committertslil <tslil@posteo.de>2026-08-28 19:37:41 +0100
commit84ad2e3c12cb505e3c5e3dd29d05edb529b82174 (patch)
tree23c4ab5496bd9b82734eccb6d4f38e29cc8792ee /include/actions.h
parentbda3a7edb76c9fe3dc21cbe5a0836829b705b407 (diff)
Try to squeeze out a little more performance
``Common wisdom'' dictates that placements are often better than stack moves, so we bias the generated move list in this fashion. Seems to be a little faster.
Diffstat (limited to 'include/actions.h')
-rw-r--r--include/actions.h22
1 files changed, 11 insertions, 11 deletions
diff --git a/include/actions.h b/include/actions.h
index a1c90cc..181aec2 100644
--- a/include/actions.h
+++ b/include/actions.h
@@ -31,18 +31,18 @@ enum A_TYPE { A_PLACE, A_MOVE };
typedef uint32_t action_t;
-#define A_TYPE_SHIFT 24
-#define A_LOC_SHIFT 16
-#define A_DATA0_SHIFT 8
+#define A_DATA1_SHIFT 24
+#define A_DATA0_SHIFT 16
+#define A_LOC_SHIFT 8
-#define A_GET_TYPE(a) (enum A_TYPE)((a)>>A_TYPE_SHIFT)
-#define A_GET_LOC(a) (int8_t)(((a)>>A_LOC_SHIFT) & 0xFF)
-#define A_GET_DATA0(a) (uint8_t)(((a)>>A_DATA0_SHIFT) & 0xFF)
-#define A_GET_DATA1(a) (uint8_t)((a) & 0xFF)
-#define A_BUILD(type,loc,data0,data1) ((type) << A_TYPE_SHIFT \
- | (loc) << A_LOC_SHIFT \
- | (data0) << A_DATA0_SHIFT \
- | (data1))
+#define A_GET_DATA1(a) (enum A_TYPE)((a)>>A_DATA1_SHIFT)
+#define A_GET_DATA0(a) (int8_t)(((a)>>A_DATA0_SHIFT) & 0xFF)
+#define A_GET_LOC(a) (uint8_t)(((a)>>A_LOC_SHIFT) & 0xFF)
+#define A_GET_TYPE(a) (uint8_t)((a) & 0xFF)
+#define A_BUILD(type,loc,data0,data1) ((type) \
+ | (loc) << A_LOC_SHIFT \
+ | (data0) << A_DATA0_SHIFT \
+ | (data1) << A_DATA1_SHIFT)
typedef struct action_node_s {
struct action_node_s *next;