aboutsummaryrefslogtreecommitdiff
path: root/src/solvers/coord
diff options
context:
space:
mode:
Diffstat (limited to 'src/solvers/coord')
-rw-r--r--src/solvers/coord/common.h46
-rw-r--r--src/solvers/coord/dr.h16
-rw-r--r--src/solvers/coord/dreo.h16
-rw-r--r--src/solvers/coord/eo.h16
-rw-r--r--src/solvers/coord/gendata.h54
-rw-r--r--src/solvers/coord/solve.h26
-rw-r--r--src/solvers/coord/types_macros.h8
7 files changed, 95 insertions, 87 deletions
diff --git a/src/solvers/coord/common.h b/src/solvers/coord/common.h
index 2eb5ad0..8fd405c 100644
--- a/src/solvers/coord/common.h
+++ b/src/solvers/coord/common.h
@@ -1,25 +1,29 @@
1STATIC uint64_t coord_coord_generic( 1STATIC uint64_t coord_coord_generic(
2 const coord_t [static 1], cube_t, const void *); 2 const coord_t [static 1], cube_t, const unsigned char *);
3STATIC cube_t coord_cube_generic( 3STATIC cube_t coord_cube_generic(
4 const coord_t [static 1], uint64_t, const void *); 4 const coord_t [static 1], uint64_t, const unsigned char *);
5STATIC bool coord_isnasty_generic( 5STATIC bool coord_isnasty_generic(
6 const coord_t [static 1], uint64_t, const void *); 6 const coord_t [static 1], uint64_t, const unsigned char *);
7STATIC size_t coord_gendata_generic(const coord_t [static 1], void *); 7STATIC size_t coord_gendata_generic(const coord_t [static 1], unsigned char *);
8 8
9STATIC void append_coord_name(const coord_t [static 1], char *); 9STATIC void append_coord_name(const coord_t [static 1], char *);
10STATIC bool solution_lastqt_cw(const solution_moves_t [static 1]); 10STATIC bool solution_lastqt_cw(const solution_moves_t [static 1]);
11STATIC bool coord_can_switch( 11STATIC bool coord_can_switch(const coord_t [static 1], const unsigned char *,
12 const coord_t [static 1], const void *, size_t n, const uint8_t [n]); 12 size_t n, const uint8_t [n]);
13 13
14STATIC uint64_t 14STATIC uint64_t
15coord_coord_generic(const coord_t coord[static 1], cube_t c, const void *data) 15coord_coord_generic(
16 const coord_t coord[static 1],
17 cube_t c,
18 const unsigned char *data
19)
16{ 20{
17 const char *datanoinfo; 21 const unsigned char *datanoinfo;
18 const uint32_t *data32; 22 const uint32_t *data32;
19 uint32_t d; 23 uint32_t d;
20 cube_t tr; 24 cube_t tr;
21 25
22 datanoinfo = (const char *)data + INFOSIZE; 26 datanoinfo = data + INFOSIZE;
23 data32 = (const uint32_t *)datanoinfo; 27 data32 = (const uint32_t *)datanoinfo;
24 d = data32[coord->sym.coord(c)]; 28 d = data32[coord->sym.coord(c)];
25 tr = transform(c, COORD_TTREP(d)); 29 tr = transform(c, COORD_TTREP(d));
@@ -28,13 +32,17 @@ coord_coord_generic(const coord_t coord[static 1], cube_t c, const void *data)
28} 32}
29 33
30STATIC cube_t 34STATIC cube_t
31coord_cube_generic(const coord_t coord[static 1], uint64_t i, const void *data) 35coord_cube_generic(
36 const coord_t coord[static 1],
37 uint64_t i,
38 const unsigned char *data
39)
32{ 40{
33 const char *datanoinfo; 41 const unsigned char *datanoinfo;
34 const uint32_t *rep32; 42 const uint32_t *rep32;
35 cube_t c; 43 cube_t c;
36 44
37 datanoinfo = (const char *)data + INFOSIZE; 45 datanoinfo = data + INFOSIZE;
38 rep32 = (const uint32_t *)(datanoinfo + 4 * (size_t)coord->sym.max); 46 rep32 = (const uint32_t *)(datanoinfo + 4 * (size_t)coord->sym.max);
39 c = coord->sym.cube(rep32[i / coord->sym.max2]); 47 c = coord->sym.cube(rep32[i / coord->sym.max2]);
40 48
@@ -45,14 +53,14 @@ STATIC bool
45coord_isnasty_generic( 53coord_isnasty_generic(
46 const coord_t coord[static 1], 54 const coord_t coord[static 1],
47 uint64_t i, 55 uint64_t i,
48 const void *data 56 const unsigned char *data
49) 57)
50{ 58{
51 const char *datanoinfo; 59 const unsigned char *datanoinfo;
52 const uint32_t *classttrep, *rep32; 60 const uint32_t *classttrep, *rep32;
53 uint32_t r; 61 uint32_t r;
54 62
55 datanoinfo = (const char *)data + INFOSIZE; 63 datanoinfo = data + INFOSIZE;
56 classttrep = (const uint32_t *)datanoinfo; 64 classttrep = (const uint32_t *)datanoinfo;
57 rep32 = (const uint32_t *)(datanoinfo + 4 * (size_t)coord->sym.max); 65 rep32 = (const uint32_t *)(datanoinfo + 4 * (size_t)coord->sym.max);
58 r = rep32[i / coord->sym.max2]; 66 r = rep32[i / coord->sym.max2];
@@ -63,11 +71,11 @@ coord_isnasty_generic(
63STATIC size_t 71STATIC size_t
64coord_gendata_generic( 72coord_gendata_generic(
65 const coord_t coord[static 1], 73 const coord_t coord[static 1],
66 void *data 74 unsigned char *data
67) 75)
68{ 76{
69 uint64_t i, j, n, t, nasty; 77 uint64_t i, j, n, t, nasty;
70 char *datanoinfo; 78 unsigned char *datanoinfo;
71 uint32_t *classttrep, *rep; 79 uint32_t *classttrep, *rep;
72 size_t coord_datasize; 80 size_t coord_datasize;
73 cube_t c; 81 cube_t c;
@@ -78,7 +86,7 @@ coord_gendata_generic(
78 if (data == NULL) 86 if (data == NULL)
79 return coord_datasize; 87 return coord_datasize;
80 88
81 datanoinfo = (char *)data + INFOSIZE; 89 datanoinfo = data + INFOSIZE;
82 classttrep = (uint32_t *)datanoinfo; 90 classttrep = (uint32_t *)datanoinfo;
83 rep = classttrep + coord->sym.max; 91 rep = classttrep + coord->sym.max;
84 memset(data, 0xFF, coord_datasize); 92 memset(data, 0xFF, coord_datasize);
@@ -154,7 +162,7 @@ solution_lastqt_cw(const solution_moves_t s[static 1])
154STATIC bool 162STATIC bool
155coord_can_switch( 163coord_can_switch(
156 const coord_t coord[static 1], 164 const coord_t coord[static 1],
157 const void *data, 165 const unsigned char *data,
158 size_t n, 166 size_t n,
159 const uint8_t moves[n] 167 const uint8_t moves[n]
160) 168)
diff --git a/src/solvers/coord/dr.h b/src/solvers/coord/dr.h
index 3bc4c6d..e197f8c 100644
--- a/src/solvers/coord/dr.h
+++ b/src/solvers/coord/dr.h
@@ -5,10 +5,10 @@ STATIC uint64_t coord_dreoesep_nosym(cube_t);
5STATIC cube_t invcoord_dreoesep_nosym(uint64_t); 5STATIC cube_t invcoord_dreoesep_nosym(uint64_t);
6STATIC cube_t coordinate_dr_merge(cube_t, cube_t); 6STATIC cube_t coordinate_dr_merge(cube_t, cube_t);
7 7
8STATIC uint64_t coordinate_dr_coord(cube_t, const void *); 8STATIC uint64_t coordinate_dr_coord(cube_t, const unsigned char *);
9STATIC cube_t coordinate_dr_cube(uint64_t, const void *); 9STATIC cube_t coordinate_dr_cube(uint64_t, const unsigned char *);
10STATIC bool coordinate_dr_isnasty(uint64_t, const void *); 10STATIC bool coordinate_dr_isnasty(uint64_t, const unsigned char *);
11STATIC size_t coordinate_dr_gendata(void *); 11STATIC size_t coordinate_dr_gendata(unsigned char *);
12 12
13STATIC bool is_eoco_solvable(cube_t); 13STATIC bool is_eoco_solvable(cube_t);
14 14
@@ -81,25 +81,25 @@ coordinate_dr_merge(cube_t c1, cube_t c2)
81} 81}
82 82
83STATIC uint64_t 83STATIC uint64_t
84coordinate_dr_coord(cube_t cube, const void *data) 84coordinate_dr_coord(cube_t cube, const unsigned char *data)
85{ 85{
86 return coord_coord_generic(&coordinate_dr, cube, data); 86 return coord_coord_generic(&coordinate_dr, cube, data);
87} 87}
88 88
89STATIC cube_t 89STATIC cube_t
90coordinate_dr_cube(uint64_t i, const void *data) 90coordinate_dr_cube(uint64_t i, const unsigned char *data)
91{ 91{
92 return coord_cube_generic(&coordinate_dr, i, data); 92 return coord_cube_generic(&coordinate_dr, i, data);
93} 93}
94 94
95STATIC bool 95STATIC bool
96coordinate_dr_isnasty(uint64_t i, const void *data) 96coordinate_dr_isnasty(uint64_t i, const unsigned char *data)
97{ 97{
98 return coord_isnasty_generic(&coordinate_dr, i, data); 98 return coord_isnasty_generic(&coordinate_dr, i, data);
99} 99}
100 100
101STATIC size_t 101STATIC size_t
102coordinate_dr_gendata(void *data) 102coordinate_dr_gendata(unsigned char *data)
103{ 103{
104 return coord_gendata_generic(&coordinate_dr, data); 104 return coord_gendata_generic(&coordinate_dr, data);
105} 105}
diff --git a/src/solvers/coord/dreo.h b/src/solvers/coord/dreo.h
index 37de0d3..2bc8cd1 100644
--- a/src/solvers/coord/dreo.h
+++ b/src/solvers/coord/dreo.h
@@ -4,10 +4,10 @@ STATIC uint64_t coord_dresep_nosym(cube_t);
4STATIC cube_t invcoord_dresep_nosym(uint64_t); 4STATIC cube_t invcoord_dresep_nosym(uint64_t);
5STATIC cube_t coordinate_dreo_merge(cube_t, cube_t); 5STATIC cube_t coordinate_dreo_merge(cube_t, cube_t);
6 6
7STATIC uint64_t coordinate_dreo_coord(cube_t, const void *); 7STATIC uint64_t coordinate_dreo_coord(cube_t, const unsigned char *);
8STATIC cube_t coordinate_dreo_cube(uint64_t, const void *); 8STATIC cube_t coordinate_dreo_cube(uint64_t, const unsigned char *);
9STATIC bool coordinate_dreo_isnasty(uint64_t, const void *); 9STATIC bool coordinate_dreo_isnasty(uint64_t, const unsigned char *);
10STATIC size_t coordinate_dreo_gendata(void *); 10STATIC size_t coordinate_dreo_gendata(unsigned char *);
11 11
12STATIC bool is_dreo_solvable(cube_t); 12STATIC bool is_dreo_solvable(cube_t);
13 13
@@ -63,25 +63,25 @@ coordinate_dreo_merge(cube_t c1, cube_t c2)
63} 63}
64 64
65STATIC uint64_t 65STATIC uint64_t
66coordinate_dreo_coord(cube_t cube, const void *data) 66coordinate_dreo_coord(cube_t cube, const unsigned char *data)
67{ 67{
68 return coord_coord_generic(&coordinate_dreo, cube, data); 68 return coord_coord_generic(&coordinate_dreo, cube, data);
69} 69}
70 70
71STATIC cube_t 71STATIC cube_t
72coordinate_dreo_cube(uint64_t i, const void *data) 72coordinate_dreo_cube(uint64_t i, const unsigned char *data)
73{ 73{
74 return coord_cube_generic(&coordinate_dreo, i, data); 74 return coord_cube_generic(&coordinate_dreo, i, data);
75} 75}
76 76
77STATIC bool 77STATIC bool
78coordinate_dreo_isnasty(uint64_t i, const void *data) 78coordinate_dreo_isnasty(uint64_t i, const unsigned char *data)
79{ 79{
80 return coord_isnasty_generic(&coordinate_dreo, i, data); 80 return coord_isnasty_generic(&coordinate_dreo, i, data);
81} 81}
82 82
83STATIC size_t 83STATIC size_t
84coordinate_dreo_gendata(void *data) 84coordinate_dreo_gendata(unsigned char *data)
85{ 85{
86 return coord_gendata_generic(&coordinate_dreo, data); 86 return coord_gendata_generic(&coordinate_dreo, data);
87} 87}
diff --git a/src/solvers/coord/eo.h b/src/solvers/coord/eo.h
index a0685c4..c8faaea 100644
--- a/src/solvers/coord/eo.h
+++ b/src/solvers/coord/eo.h
@@ -1,7 +1,7 @@
1STATIC uint64_t coordinate_eo_coord(cube_t, const void *); 1STATIC uint64_t coordinate_eo_coord(cube_t, const unsigned char *);
2STATIC cube_t coordinate_eo_cube(uint64_t, const void *); 2STATIC cube_t coordinate_eo_cube(uint64_t, const unsigned char *);
3STATIC bool coordinate_eo_isnasty(uint64_t, const void *); 3STATIC bool coordinate_eo_isnasty(uint64_t, const unsigned char *);
4STATIC size_t coordinate_eo_gendata(void *); 4STATIC size_t coordinate_eo_gendata(unsigned char *);
5STATIC bool is_eo_even(cube_t); 5STATIC bool is_eo_even(cube_t);
6 6
7STATIC coord_t coordinate_eo = { 7STATIC coord_t coordinate_eo = {
@@ -24,13 +24,13 @@ STATIC coord_t coordinate_eo = {
24}; 24};
25 25
26STATIC uint64_t 26STATIC uint64_t
27coordinate_eo_coord(cube_t c, const void *data) 27coordinate_eo_coord(cube_t c, const unsigned char *data)
28{ 28{
29 return (uint64_t)coord_eo(c); 29 return (uint64_t)coord_eo(c);
30} 30}
31 31
32STATIC cube_t 32STATIC cube_t
33coordinate_eo_cube(uint64_t c, const void *data) 33coordinate_eo_cube(uint64_t c, const unsigned char *data)
34{ 34{
35 cube_t cube = SOLVED_CUBE; 35 cube_t cube = SOLVED_CUBE;
36 set_eo(&cube, (int64_t)c); 36 set_eo(&cube, (int64_t)c);
@@ -38,13 +38,13 @@ coordinate_eo_cube(uint64_t c, const void *data)
38} 38}
39 39
40STATIC bool 40STATIC bool
41coordinate_eo_isnasty(uint64_t c, const void *data) 41coordinate_eo_isnasty(uint64_t c, const unsigned char *data)
42{ 42{
43 return false; 43 return false;
44} 44}
45 45
46STATIC size_t 46STATIC size_t
47coordinate_eo_gendata(void *data) 47coordinate_eo_gendata(unsigned char *data)
48{ 48{
49 return 0; 49 return 0;
50} 50}
diff --git a/src/solvers/coord/gendata.h b/src/solvers/coord/gendata.h
index ae7b39e..7a974f8 100644
--- a/src/solvers/coord/gendata.h
+++ b/src/solvers/coord/gendata.h
@@ -1,21 +1,21 @@
1STATIC size_t gendata_coord(const coord_t [static 1], void *); 1STATIC size_t gendata_coord(const coord_t [static 1], unsigned char *);
2STATIC int64_t gendata_coord_dispatch(const char *, void *); 2STATIC int64_t gendata_coord_dispatch(const char *, unsigned char *);
3STATIC tableinfo_t genptable_coord( 3STATIC tableinfo_t genptable_coord(
4 const coord_t [static 1], const void *, uint8_t *); 4 const coord_t [static 1], const unsigned char *, unsigned char *);
5STATIC bool switch_to_fromnew(uint64_t, uint64_t, uint64_t); 5STATIC bool switch_to_fromnew(uint64_t, uint64_t, uint64_t);
6STATIC uint64_t genptable_coord_fillneighbors( 6STATIC uint64_t genptable_coord_fillneighbors(const coord_t [static 1],
7 const coord_t [static 1], const void *, uint64_t, uint8_t, uint8_t *); 7 const unsigned char *, uint64_t, uint8_t, unsigned char *);
8STATIC uint64_t genptable_coord_fillfromnew( 8STATIC uint64_t genptable_coord_fillfromnew(const coord_t [static 1],
9 const coord_t [static 1], const void *, uint64_t, uint8_t, uint8_t *); 9 const unsigned char *, uint64_t, uint8_t, unsigned char *);
10STATIC void getdistribution_coord( 10STATIC void getdistribution_coord(const unsigned char *, const char *,
11 const uint8_t *, const char *, uint64_t [static INFO_DISTRIBUTION_LEN]); 11 uint64_t [static INFO_DISTRIBUTION_LEN]);
12STATIC uint8_t get_coord_pval( 12STATIC uint8_t get_coord_pval(
13 const coord_t [static 1], const uint8_t *, uint64_t); 13 const coord_t [static 1], const unsigned char *, uint64_t);
14STATIC void set_coord_pval( 14STATIC void set_coord_pval(
15 const coord_t [static 1], uint8_t *, uint64_t, uint8_t); 15 const coord_t [static 1], unsigned char *, uint64_t, uint8_t);
16 16
17STATIC int64_t 17STATIC int64_t
18gendata_coord_dispatch(const char *coordstr, void *buf) 18gendata_coord_dispatch(const char *coordstr, unsigned char *buf)
19{ 19{
20 coord_t *coord; 20 coord_t *coord;
21 21
@@ -30,14 +30,14 @@ gendata_coord_dispatch(const char *coordstr, void *buf)
30} 30}
31 31
32STATIC size_t 32STATIC size_t
33gendata_coord(const coord_t coord[static 1], void *buf) 33gendata_coord(const coord_t coord[static 1], unsigned char *buf)
34{ 34{
35 uint64_t coord_dsize, tablesize, ninfo; 35 uint64_t coord_dsize, tablesize, ninfo;
36 void *pruningbuf, *coord_data; 36 unsigned char *pruningbuf, *coord_data;
37 uint8_t *table; 37 unsigned char *table;
38 tableinfo_t coord_data_info, pruning_info; 38 tableinfo_t coord_data_info, pruning_info;
39 39
40 coord_data = buf == NULL ? NULL : ((uint8_t *)buf) + INFOSIZE; 40 coord_data = buf == NULL ? NULL : buf + INFOSIZE;
41 coord_dsize = coord->gendata(coord_data); 41 coord_dsize = coord->gendata(coord_data);
42 if (coord_dsize == SIZE_MAX) 42 if (coord_dsize == SIZE_MAX)
43 goto gendata_coord_error; 43 goto gendata_coord_error;
@@ -69,12 +69,12 @@ gendata_coord(const coord_t coord[static 1], void *buf)
69 69
70 writetableinfo(&coord_data_info, INFOSIZE + coord_dsize, buf); 70 writetableinfo(&coord_data_info, INFOSIZE + coord_dsize, buf);
71 71
72 pruningbuf = ((uint8_t *)buf) + INFOSIZE + coord_dsize; 72 pruningbuf = buf + INFOSIZE + coord_dsize;
73 } else { 73 } else {
74 pruningbuf = buf; 74 pruningbuf = buf;
75 } 75 }
76 76
77 table = ((uint8_t *)pruningbuf) + INFOSIZE; 77 table = pruningbuf + INFOSIZE;
78 pruning_info = genptable_coord(coord, coord_data, table); 78 pruning_info = genptable_coord(coord, coord_data, table);
79 writetableinfo(&pruning_info, INFOSIZE + tablesize, pruningbuf); 79 writetableinfo(&pruning_info, INFOSIZE + tablesize, pruningbuf);
80 80
@@ -89,8 +89,8 @@ gendata_coord_error:
89STATIC tableinfo_t 89STATIC tableinfo_t
90genptable_coord( 90genptable_coord(
91 const coord_t coord[static 1], 91 const coord_t coord[static 1],
92 const void *data, 92 const unsigned char *data,
93 uint8_t *table 93 unsigned char *table
94) 94)
95{ 95{
96 uint64_t tablesize, i, d, tot, t, nm; 96 uint64_t tablesize, i, d, tot, t, nm;
@@ -161,10 +161,10 @@ switch_to_fromnew(uint64_t done, uint64_t max, uint64_t nm)
161STATIC uint64_t 161STATIC uint64_t
162genptable_coord_fillneighbors( 162genptable_coord_fillneighbors(
163 const coord_t coord[static 1], 163 const coord_t coord[static 1],
164 const void *data, 164 const unsigned char *data,
165 uint64_t i, 165 uint64_t i,
166 uint8_t d, 166 uint8_t d,
167 uint8_t *table 167 unsigned char *table
168) 168)
169{ 169{
170 bool isnasty; 170 bool isnasty;
@@ -198,10 +198,10 @@ genptable_coord_fillneighbors(
198STATIC uint64_t 198STATIC uint64_t
199genptable_coord_fillfromnew( 199genptable_coord_fillfromnew(
200 const coord_t coord[static 1], 200 const coord_t coord[static 1],
201 const void *data, 201 const unsigned char *data,
202 uint64_t i, 202 uint64_t i,
203 uint8_t d, 203 uint8_t d,
204 uint8_t *table 204 unsigned char *table
205) 205)
206{ 206{
207 bool found; 207 bool found;
@@ -251,7 +251,7 @@ genptable_coord_fillfromnew(
251 251
252STATIC void 252STATIC void
253getdistribution_coord( 253getdistribution_coord(
254 const uint8_t *table, 254 const unsigned char *table,
255 const char *coord, 255 const char *coord,
256 uint64_t distr[static INFO_DISTRIBUTION_LEN] 256 uint64_t distr[static INFO_DISTRIBUTION_LEN]
257) 257)
@@ -274,7 +274,7 @@ getdistribution_coord(
274STATIC uint8_t 274STATIC uint8_t
275get_coord_pval( 275get_coord_pval(
276 const coord_t coord[static 1], 276 const coord_t coord[static 1],
277 const uint8_t *table, 277 const unsigned char *table,
278 uint64_t i 278 uint64_t i
279) 279)
280{ 280{
@@ -284,7 +284,7 @@ get_coord_pval(
284STATIC void 284STATIC void
285set_coord_pval( 285set_coord_pval(
286 const coord_t coord[static 1], 286 const coord_t coord[static 1],
287 uint8_t *table, 287 unsigned char *table,
288 uint64_t i, 288 uint64_t i,
289 uint8_t val 289 uint8_t val
290) 290)
diff --git a/src/solvers/coord/solve.h b/src/solvers/coord/solve.h
index 072aa27..fb996ac 100644
--- a/src/solvers/coord/solve.h
+++ b/src/solvers/coord/solve.h
@@ -8,16 +8,16 @@ typedef struct {
8 uint8_t nissflag; 8 uint8_t nissflag;
9 bool lastisnormal; 9 bool lastisnormal;
10 coord_t *coord; 10 coord_t *coord;
11 const void *coord_data; 11 const unsigned char *coord_data;
12 const uint8_t *ptable; 12 const unsigned char *ptable;
13} dfsarg_solve_coord_t; 13} dfsarg_solve_coord_t;
14 14
15STATIC int64_t solve_coord(cube_t, coord_t [static 1], uint8_t, uint8_t, 15STATIC int64_t solve_coord(cube_t, coord_t [static 1], uint8_t, uint8_t,
16 uint8_t, uint8_t, uint64_t, uint8_t, uint8_t, uint64_t, const void *, 16 uint8_t, uint8_t, uint64_t, uint8_t, uint8_t, uint64_t,
17 size_t n, char [n]); 17 const unsigned char *, size_t n, char [n]);
18STATIC int64_t solve_coord_dispatch(cube_t, const char *, uint8_t, uint8_t, 18STATIC int64_t solve_coord_dispatch(cube_t, const char *, uint8_t, uint8_t,
19 uint8_t, uint64_t, uint8_t, uint8_t, uint64_t, const void *, size_t n, 19 uint8_t, uint64_t, uint8_t, uint8_t, uint64_t, const unsigned char *,
20 char [n]); 20 size_t n, char [n]);
21STATIC bool coord_solution_admissible(const dfsarg_solve_coord_t [static 1]); 21STATIC bool coord_solution_admissible(const dfsarg_solve_coord_t [static 1]);
22STATIC bool solve_coord_dfs_stop(const dfsarg_solve_coord_t [static 1]); 22STATIC bool solve_coord_dfs_stop(const dfsarg_solve_coord_t [static 1]);
23STATIC bool coord_continue_onnormal(const dfsarg_solve_coord_t [static 1]); 23STATIC bool coord_continue_onnormal(const dfsarg_solve_coord_t [static 1]);
@@ -209,7 +209,7 @@ solve_coord_dispatch(
209 uint8_t optimal, 209 uint8_t optimal,
210 uint8_t threads, 210 uint8_t threads,
211 uint64_t data_size, 211 uint64_t data_size,
212 const void *data, 212 const unsigned char *data,
213 size_t solutions_size, 213 size_t solutions_size,
214 char sols[solutions_size] 214 char sols[solutions_size]
215) 215)
@@ -248,7 +248,7 @@ solve_coord(
248 uint8_t optimal, 248 uint8_t optimal,
249 uint8_t threads, 249 uint8_t threads,
250 uint64_t data_size, 250 uint64_t data_size,
251 const void *data, 251 const unsigned char *data,
252 size_t solutions_size, 252 size_t solutions_size,
253 char sols[solutions_size] 253 char sols[solutions_size]
254) 254)
@@ -257,8 +257,8 @@ solve_coord(
257 uint8_t t; 257 uint8_t t;
258 int64_t ndepth; 258 int64_t ndepth;
259 cube_t c; 259 cube_t c;
260 const void *coord_data; 260 const unsigned char *coord_data;
261 const uint8_t *ptable; 261 const unsigned char *ptable;
262 dfsarg_solve_coord_t arg; 262 dfsarg_solve_coord_t arg;
263 tableinfo_t info; 263 tableinfo_t info;
264 solution_moves_t solution_moves; 264 solution_moves_t solution_moves;
@@ -280,11 +280,11 @@ solve_coord(
280 if (info.type == TABLETYPE_PRUNING) { 280 if (info.type == TABLETYPE_PRUNING) {
281 /* Only the pruning table */ 281 /* Only the pruning table */
282 coord_data = NULL; 282 coord_data = NULL;
283 ptable = (uint8_t *)data + INFOSIZE; 283 ptable = data + INFOSIZE;
284 } else { 284 } else {
285 /* Coordinate has extra data */ 285 /* Coordinate has extra data */
286 coord_data = (uint8_t *)data + INFOSIZE; 286 coord_data = data + INFOSIZE;
287 ptable = (uint8_t *)data + info.next + INFOSIZE; 287 ptable = data + info.next + INFOSIZE;
288 } 288 }
289 289
290 solution_moves_reset(&solution_moves); 290 solution_moves_reset(&solution_moves);
diff --git a/src/solvers/coord/types_macros.h b/src/solvers/coord/types_macros.h
index 84ed8eb..2767dcc 100644
--- a/src/solvers/coord/types_macros.h
+++ b/src/solvers/coord/types_macros.h
@@ -16,10 +16,10 @@
16 16
17typedef struct { 17typedef struct {
18 const char name[255]; 18 const char name[255];
19 uint64_t (*coord)(cube_t, const void *); 19 uint64_t (*coord)(cube_t, const unsigned char *);
20 cube_t (*cube)(uint64_t, const void *); 20 cube_t (*cube)(uint64_t, const unsigned char *);
21 bool (*isnasty)(uint64_t, const void *); 21 bool (*isnasty)(uint64_t, const unsigned char *);
22 size_t (*gendata)(void *); 22 size_t (*gendata)(unsigned char *);
23 uint64_t max; 23 uint64_t max;
24 uint32_t moves_mask; 24 uint32_t moves_mask;
25 uint64_t trans_mask; 25 uint64_t trans_mask;

Generated with cgit - Back to sebastiano.tronto.net