diff options
Diffstat (limited to 'src/core/transform.h')
| -rw-r--r-- | src/core/transform.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/core/transform.h b/src/core/transform.h index b480593..28b8d93 100644 --- a/src/core/transform.h +++ b/src/core/transform.h | |||
| @@ -17,6 +17,9 @@ | |||
| 17 | invertco(compose(compose(TRANS_CUBE_ ## T, c), \ | 17 | invertco(compose(compose(TRANS_CUBE_ ## T, c), \ |
| 18 | TRANS_CUBE_ ## T ## _INVERSE)) | 18 | TRANS_CUBE_ ## T ## _INVERSE)) |
| 19 | 19 | ||
| 20 | STATIC uint8_t readtrans(const char [static NISSY_SIZE_TRANSFORMATION]); | ||
| 21 | STATIC void writetrans(uint8_t, char [static NISSY_SIZE_TRANSFORMATION]); | ||
| 22 | |||
| 20 | STATIC cube_t transform_edges(cube_t, uint8_t); | 23 | STATIC cube_t transform_edges(cube_t, uint8_t); |
| 21 | STATIC cube_t transform_corners(cube_t, uint8_t); | 24 | STATIC cube_t transform_corners(cube_t, uint8_t); |
| 22 | STATIC cube_t transform(cube_t, uint8_t); | 25 | STATIC cube_t transform(cube_t, uint8_t); |
| @@ -25,6 +28,28 @@ STATIC_INLINE uint8_t inverse_trans(uint8_t); | |||
| 25 | STATIC uint8_t transform_move(uint8_t, uint8_t); | 28 | STATIC uint8_t transform_move(uint8_t, uint8_t); |
| 26 | STATIC uint64_t symmetry_mask(cube_t); | 29 | STATIC uint64_t symmetry_mask(cube_t); |
| 27 | 30 | ||
| 31 | STATIC uint8_t | ||
| 32 | readtrans(const char buf[static NISSY_SIZE_TRANSFORMATION]) | ||
| 33 | { | ||
| 34 | uint8_t t; | ||
| 35 | |||
| 36 | for (t = 0; t < NTRANS; t++) | ||
| 37 | if (!strncmp(buf, transstr[t], 11)) | ||
| 38 | return t; | ||
| 39 | |||
| 40 | return UINT8_ERROR; | ||
| 41 | } | ||
| 42 | |||
| 43 | STATIC void | ||
| 44 | writetrans(uint8_t t, char buf[static NISSY_SIZE_TRANSFORMATION]) | ||
| 45 | { | ||
| 46 | if (t >= 48) | ||
| 47 | memcpy(buf, "error trans", 11); | ||
| 48 | else | ||
| 49 | memcpy(buf, transstr[t], 11); | ||
| 50 | buf[11] = '\0'; | ||
| 51 | } | ||
| 52 | |||
| 28 | STATIC cube_t | 53 | STATIC cube_t |
| 29 | transform_edges(cube_t c, uint8_t t) | 54 | transform_edges(cube_t c, uint8_t t) |
| 30 | { | 55 | { |
