diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/cube.h | 13 | ||||
| -rw-r--r-- | src/cube_array.c | 13 |
2 files changed, 24 insertions, 2 deletions
| @@ -1,9 +1,18 @@ | |||
| 1 | typedef enum { | 1 | typedef enum { |
| 2 | U, U2, U3, D, D2, D3, | 2 | U = 0, U2, U3, D, D2, D3, |
| 3 | R, R2, R3, L, L2, L3, | 3 | R, R2, R3, L, L2, L3, |
| 4 | F, F2, F3, B, B2, B3 | 4 | F, F2, F3, B, B2, B3 |
| 5 | } move_t; | 5 | } move_t; |
| 6 | 6 | ||
| 7 | typedef enum { | ||
| 8 | UF_i = 0, UL_i, UB_i, UR_i, DF_i, DL_i, DB_i, DR_i, | ||
| 9 | UF_m, UL_m, UB_m, UR_m, DF_m, DL_m, DB_m, DR_m, | ||
| 10 | RU_i, RF_i, RD_i, RB_i, LU_i, LF_i, LD_i, LB_i, | ||
| 11 | RU_m, RF_m, RD_m, RB_m, LU_m, LF_m, LD_m, LB_m, | ||
| 12 | FU_i, FR_i, FD_i, FL_i, BU_i, BR_i, BD_i, BL_i, | ||
| 13 | FU_m, FR_m, FD_m, FL_m, BU_m, BR_m, BD_m, BL_m | ||
| 14 | } trans_t; | ||
| 15 | |||
| 7 | typedef struct { | 16 | typedef struct { |
| 8 | uint8_t c[8]; | 17 | uint8_t c[8]; |
| 9 | uint8_t e[12]; | 18 | uint8_t e[12]; |
| @@ -51,3 +60,5 @@ void writemoves(move_t *, int, char *); | |||
| 51 | 60 | ||
| 52 | cube_t move(cube_t, move_t); | 61 | cube_t move(cube_t, move_t); |
| 53 | cube_t inverse(cube_t); | 62 | cube_t inverse(cube_t); |
| 63 | cube_t compose(cube_t, cube_t); | ||
| 64 | cube_t transform(cube_t, trans_t); | ||
diff --git a/src/cube_array.c b/src/cube_array.c index 3445658..a051610 100644 --- a/src/cube_array.c +++ b/src/cube_array.c | |||
| @@ -155,7 +155,6 @@ static uint8_t readep(char *); | |||
| 155 | static uint8_t readmove(char); | 155 | static uint8_t readmove(char); |
| 156 | static uint8_t readmodifier(char); | 156 | static uint8_t readmodifier(char); |
| 157 | static int permsign(uint8_t *, int); | 157 | static int permsign(uint8_t *, int); |
| 158 | static cube_t compose(cube_t, cube_t); | ||
| 159 | 158 | ||
| 160 | static uint8_t | 159 | static uint8_t |
| 161 | readco(char *str) | 160 | readco(char *str) |
| @@ -710,3 +709,15 @@ inverse_inconsistent: | |||
| 710 | fprintf(stderr, "inverse error, inconsistent cube\n"); | 709 | fprintf(stderr, "inverse error, inconsistent cube\n"); |
| 711 | return errorcube; | 710 | return errorcube; |
| 712 | } | 711 | } |
| 712 | |||
| 713 | cube_t | ||
| 714 | compose(cube_t c1, cube_t c2) | ||
| 715 | { | ||
| 716 | return errorcube; | ||
| 717 | } | ||
| 718 | |||
| 719 | cube_t | ||
| 720 | transform(cube_t c, trans_t t) | ||
| 721 | { | ||
| 722 | return errorcube; | ||
| 723 | } | ||
