diff options
Diffstat (limited to 'src/cube_portable.h')
| -rw-r--r-- | src/cube_portable.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/cube_portable.h b/src/cube_portable.h index 2999d8a..48885ff 100644 --- a/src/cube_portable.h +++ b/src/cube_portable.h | |||
| @@ -1,4 +1,7 @@ | |||
| 1 | typedef cube_t cube_fast_t; | 1 | typedef struct { |
| 2 | uint8_t corner[8]; | ||
| 3 | uint8_t edge[12]; | ||
| 4 | } cube_fast_t; | ||
| 2 | 5 | ||
| 3 | _static_inline cube_fast_t fastcube( | 6 | _static_inline cube_fast_t fastcube( |
| 4 | uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, | 7 | uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, |
| @@ -6,6 +9,8 @@ _static_inline cube_fast_t fastcube( | |||
| 6 | uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, | 9 | uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, |
| 7 | uint8_t, uint8_t, uint8_t, uint8_t, uint8_t | 10 | uint8_t, uint8_t, uint8_t, uint8_t, uint8_t |
| 8 | ); | 11 | ); |
| 12 | _static uint8_t corner(cube_fast_t, int); | ||
| 13 | _static uint8_t edge(cube_fast_t, int); | ||
| 9 | _static cube_fast_t cubetofast(cube_t); | 14 | _static cube_fast_t cubetofast(cube_t); |
| 10 | _static cube_t fasttocube(cube_fast_t); | 15 | _static cube_t fasttocube(cube_fast_t); |
| 11 | _static_inline bool equal_fast(cube_fast_t, cube_fast_t); | 16 | _static_inline bool equal_fast(cube_fast_t, cube_fast_t); |
| @@ -66,6 +71,21 @@ fastcube( | |||
| 66 | return cube; | 71 | return cube; |
| 67 | } | 72 | } |
| 68 | 73 | ||
| 74 | _static uint8_t | ||
| 75 | corner(cube_fast_t c, int i) | ||
| 76 | { | ||
| 77 | DBG_ASSERT(i >= 0 && i < 8, 255, "Corner must be between 0 and 7\n"); | ||
| 78 | |||
| 79 | return c.corner[i]; | ||
| 80 | } | ||
| 81 | _static uint8_t | ||
| 82 | edge(cube_fast_t c, int i) | ||
| 83 | { | ||
| 84 | DBG_ASSERT(i >= 0 && i < 12, 255, "Edge must be between 0 and 11\n"); | ||
| 85 | |||
| 86 | return c.edge[i]; | ||
| 87 | } | ||
| 88 | |||
| 69 | _static cube_fast_t | 89 | _static cube_fast_t |
| 70 | cubetofast(cube_t cube) | 90 | cubetofast(cube_t cube) |
| 71 | { | 91 | { |
