diff options
Diffstat (limited to 'src/alg.h')
| -rw-r--r-- | src/alg.h | 76 |
1 files changed, 3 insertions, 73 deletions
| @@ -8,21 +8,11 @@ | |||
| 8 | #include "cubetypes.h" | 8 | #include "cubetypes.h" |
| 9 | #include "utils.h" | 9 | #include "utils.h" |
| 10 | 10 | ||
| 11 | bool allowed_all(Move m); | ||
| 12 | bool allowed_HTM(Move m); | ||
| 13 | bool allowed_URF(Move m); | ||
| 14 | bool allowed_eofb(Move m); | ||
| 15 | bool allowed_drud(Move m); | ||
| 16 | bool allowed_htr(Move m); | ||
| 17 | bool allowed_next_all(Move l2, Move l1, Move m); | ||
| 18 | |||
| 19 | void moveset_to_list(Moveset ms, Move *lst); | ||
| 20 | void init_moveset(Moveset *ms); | ||
| 21 | bool possible_next(Move m, Moveset *ms, Move l0, Move l1); | ||
| 22 | |||
| 23 | void append_alg(AlgList *l, Alg *alg); | 11 | void append_alg(AlgList *l, Alg *alg); |
| 24 | void append_move(Alg *alg, Move m, bool inverse); | 12 | void append_move(Alg *alg, Move m, bool inverse); |
| 25 | Move base_move(Move m); | 13 | Move base_move(Move m); |
| 14 | int compare(Move m1, Move m2); /* Return 1 (m1<m2), 0 or -1 (m1>m2) */ | ||
| 15 | int compare_last(Alg *alg, Move m, bool inverse); | ||
| 26 | void compose_alg(Alg *alg1, Alg *alg2); | 16 | void compose_alg(Alg *alg1, Alg *alg2); |
| 27 | bool commute(Move m1, Move m2); | 17 | bool commute(Move m1, Move m2); |
| 28 | void copy_alg(Alg *src, Alg *dst); | 18 | void copy_alg(Alg *src, Alg *dst); |
| @@ -36,70 +26,10 @@ AlgList * new_alglist(); | |||
| 36 | Alg * on_inverse(Alg *alg); | 26 | Alg * on_inverse(Alg *alg); |
| 37 | void print_alg(Alg *alg, bool l); | 27 | void print_alg(Alg *alg, bool l); |
| 38 | void print_alglist(AlgList *al, bool l); | 28 | void print_alglist(AlgList *al, bool l); |
| 29 | void remove_last_move(Alg *alg); | ||
| 39 | void swapmove(Move *m1, Move *m2); | 30 | void swapmove(Move *m1, Move *m2); |
| 40 | char * trans_string(Trans t); /* Here because similar to move_string, move? */ | 31 | char * trans_string(Trans t); /* Here because similar to move_string, move? */ |
| 41 | Alg * unniss(Alg *alg); | 32 | Alg * unniss(Alg *alg); |
| 42 | 33 | ||
| 43 | /* Movesets ******************************************************************/ | ||
| 44 | |||
| 45 | #ifndef ALG_C | ||
| 46 | |||
| 47 | extern Moveset moveset_HTM; | ||
| 48 | extern Moveset moveset_URF; | ||
| 49 | extern Moveset moveset_eofb; | ||
| 50 | extern Moveset moveset_drud; | ||
| 51 | extern Moveset moveset_htr; | ||
| 52 | |||
| 53 | extern Moveset * all_ms[]; | ||
| 54 | |||
| 55 | #else | ||
| 56 | |||
| 57 | Moveset | ||
| 58 | moveset_HTM = { | ||
| 59 | .name = "HTM", | ||
| 60 | .allowed = allowed_HTM, | ||
| 61 | .allowed_next = allowed_next_all, | ||
| 62 | }; | ||
| 63 | |||
| 64 | Moveset | ||
| 65 | moveset_URF = { | ||
| 66 | .name = "URF", | ||
| 67 | .allowed = allowed_URF, | ||
| 68 | .allowed_next = allowed_next_all, | ||
| 69 | }; | ||
| 70 | |||
| 71 | Moveset | ||
| 72 | moveset_eofb = { | ||
| 73 | .name = "eofb", | ||
| 74 | .allowed = allowed_eofb, | ||
| 75 | .allowed_next = allowed_next_all, | ||
| 76 | }; | ||
| 77 | |||
| 78 | Moveset | ||
| 79 | moveset_drud = { | ||
| 80 | .name = "drud", | ||
| 81 | .allowed = allowed_drud, | ||
| 82 | .allowed_next = allowed_next_all, | ||
| 83 | }; | ||
| 84 | |||
| 85 | Moveset | ||
| 86 | moveset_htr = { | ||
| 87 | .name = "htr", | ||
| 88 | .allowed = allowed_htr, | ||
| 89 | .allowed_next = allowed_next_all, | ||
| 90 | }; | ||
| 91 | |||
| 92 | Moveset * | ||
| 93 | all_ms[] = { | ||
| 94 | &moveset_HTM, | ||
| 95 | &moveset_URF, | ||
| 96 | &moveset_eofb, | ||
| 97 | &moveset_drud, | ||
| 98 | &moveset_htr, | ||
| 99 | NULL | ||
| 100 | }; | ||
| 101 | |||
| 102 | #endif | ||
| 103 | |||
| 104 | #endif | 34 | #endif |
| 105 | 35 | ||
