diff options
| author | tslil clingman <tslil@posteo.de> | 2021-01-28 12:01:42 -0500 |
|---|---|---|
| committer | tslil <tslil@posteo.de> | 2026-08-28 19:37:41 +0100 |
| commit | b5b337d4044a8e64956b8a2309739353f9ce339e (patch) | |
| tree | 44c23ad0509357ae5525aa51db37bdc2709ea645 /include/actions.h | |
| parent | 8f15c1131342376ab3de2c6ce50d1ca5f20ec32a (diff) | |
It would appear that any function call whatsoever is slower :/
For now we'll stay with directly recomputing it at each non-terminal
node
Diffstat (limited to 'include/actions.h')
| -rw-r--r-- | include/actions.h | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/include/actions.h b/include/actions.h index d331284..ced0315 100644 --- a/include/actions.h +++ b/include/actions.h @@ -10,14 +10,18 @@ enum A_TYPE { A_PLACE, A_MOVE }; typedef uint32_t action_t; -#define TYPE_SHIFT 24 -#define LOC_SHIFT 16 -#define DATA0_SHIFT 8 - -#define GET_TYPE(a) (enum A_TYPE)((a)>>TYPE_SHIFT) -#define GET_LOC(a) (int8_t)(((a)>>LOC_SHIFT) & 0xFF) -#define GET_DATA0(a) (uint8_t)(((a)>>DATA0_SHIFT) & 0xFF) -#define GET_DATA1(a) (uint8_t)((a) & 0xFF) +#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)) typedef struct action_node_s { struct action_node_s *next; |
