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

Generated with cgit - Back to sebastiano.tronto.net