From 84ad2e3c12cb505e3c5e3dd29d05edb529b82174 Mon Sep 17 00:00:00 2001 From: tslil clingman Date: Sat, 30 Jan 2021 16:47:48 -0500 Subject: 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. --- include/actions.h | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'include/actions.h') 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_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_DATA1_SHIFT 24 +#define A_DATA0_SHIFT 16 +#define A_LOC_SHIFT 8 + +#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; -- cgit v1.2.3