diff options
Diffstat (limited to '')
| -rw-r--r-- | src/core/moves.h | 24 | ||||
| -rw-r--r-- | src/nissy.c | 8 | ||||
| -rw-r--r-- | src/nissy.h | 8 | ||||
| -rw-r--r-- | src/solvers/coord/checkdata.h | 4 | ||||
| -rw-r--r-- | src/solvers/coord/common.h | 4 | ||||
| -rw-r--r-- | src/solvers/coord/solve.h | 19 | ||||
| -rw-r--r-- | src/solvers/coord/utils.h | 4 | ||||
| -rw-r--r-- | src/solvers/dispatch.h | 2 | ||||
| -rw-r--r-- | src/solvers/h48/checkdata.h | 4 | ||||
| -rw-r--r-- | src/solvers/h48/solve.h | 12 | ||||
| -rw-r--r-- | src/solvers/solutions.h | 9 | ||||
| -rw-r--r-- | src/solvers/tables.h | 18 | ||||
| -rw-r--r-- | src/utils/math.h | 24 |
13 files changed, 70 insertions, 70 deletions
diff --git a/src/core/moves.h b/src/core/moves.h index 5f48f8d..d3ff4a3 100644 --- a/src/core/moves.h +++ b/src/core/moves.h | |||
| @@ -3,13 +3,13 @@ | |||
| 3 | 3 | ||
| 4 | STATIC uint8_t readmove(char); | 4 | STATIC uint8_t readmove(char); |
| 5 | STATIC int64_t readmoves(const char *, | 5 | STATIC int64_t readmoves(const char *, |
| 6 | size_t n, size_t m, uint64_t *, uint64_t *, uint8_t [n], uint8_t [m]); | 6 | size_t, size_t, uint64_t *, uint64_t *, uint8_t *, uint8_t *); |
| 7 | STATIC int64_t countmoves(const char *); | 7 | STATIC int64_t countmoves(const char *); |
| 8 | STATIC uint8_t readmodifier(char); | 8 | STATIC uint8_t readmodifier(char); |
| 9 | STATIC int64_t writemoves(size_t n, const uint8_t [n], size_t m, char [m]); | 9 | STATIC int64_t writemoves(size_t, const uint8_t *, size_t, char *); |
| 10 | 10 | ||
| 11 | STATIC_INLINE bool allowednextmove(uint8_t, uint8_t); | 11 | STATIC_INLINE bool allowednextmove(uint8_t, uint8_t); |
| 12 | STATIC bool allowedmoves(size_t n, const uint8_t [n]); | 12 | STATIC bool allowedmoves(size_t, const uint8_t *); |
| 13 | 13 | ||
| 14 | STATIC_INLINE uint8_t movebase(uint8_t); | 14 | STATIC_INLINE uint8_t movebase(uint8_t); |
| 15 | STATIC_INLINE uint8_t moveaxis(uint8_t); | 15 | STATIC_INLINE uint8_t moveaxis(uint8_t); |
| @@ -24,8 +24,8 @@ STATIC uint8_t transform_move(uint8_t, uint8_t); | |||
| 24 | STATIC cube_t move(cube_t, uint8_t); | 24 | STATIC cube_t move(cube_t, uint8_t); |
| 25 | STATIC cube_t premove(cube_t, uint8_t); | 25 | STATIC cube_t premove(cube_t, uint8_t); |
| 26 | STATIC uint8_t inverse_move(uint8_t); | 26 | STATIC uint8_t inverse_move(uint8_t); |
| 27 | STATIC void sortparallel_moves(size_t n, uint8_t [n]); | 27 | STATIC void sortparallel_moves(size_t, uint8_t*); |
| 28 | STATIC bool are_lastmoves_singlecw(size_t n, const uint8_t [n]); | 28 | STATIC bool are_lastmoves_singlecw(size_t, const uint8_t*); |
| 29 | 29 | ||
| 30 | #define FOREACH_READMOVE(ARG_BUF, ARG_MOVE, ARG_C, ARG_MAX, \ | 30 | #define FOREACH_READMOVE(ARG_BUF, ARG_MOVE, ARG_C, ARG_MAX, \ |
| 31 | RET_ERROR, ARG_ACTION) \ | 31 | RET_ERROR, ARG_ACTION) \ |
| @@ -126,8 +126,8 @@ readmoves( | |||
| 126 | size_t invsize, | 126 | size_t invsize, |
| 127 | uint64_t *n, | 127 | uint64_t *n, |
| 128 | uint64_t *i, | 128 | uint64_t *i, |
| 129 | uint8_t normal[nsize], | 129 | uint8_t *normal, |
| 130 | uint8_t inverse[invsize] | 130 | uint8_t *inverse |
| 131 | ) | 131 | ) |
| 132 | { | 132 | { |
| 133 | uint8_t m; | 133 | uint8_t m; |
| @@ -171,9 +171,9 @@ countmoves(const char *buf) | |||
| 171 | STATIC int64_t | 171 | STATIC int64_t |
| 172 | writemoves( | 172 | writemoves( |
| 173 | size_t nmoves, | 173 | size_t nmoves, |
| 174 | const uint8_t m[nmoves], | 174 | const uint8_t *m, |
| 175 | size_t buf_size, | 175 | size_t buf_size, |
| 176 | char buf[buf_size] | 176 | char *buf |
| 177 | ) | 177 | ) |
| 178 | { | 178 | { |
| 179 | size_t i, len, w; | 179 | size_t i, len, w; |
| @@ -214,7 +214,7 @@ allowednextmove(uint8_t m1, uint8_t m2) | |||
| 214 | } | 214 | } |
| 215 | 215 | ||
| 216 | STATIC bool | 216 | STATIC bool |
| 217 | allowedmoves(size_t n, const uint8_t m[n]) | 217 | allowedmoves(size_t n, const uint8_t *m) |
| 218 | { | 218 | { |
| 219 | uint8_t j; | 219 | uint8_t j; |
| 220 | 220 | ||
| @@ -422,7 +422,7 @@ inverse_move(uint8_t m) | |||
| 422 | } | 422 | } |
| 423 | 423 | ||
| 424 | STATIC void | 424 | STATIC void |
| 425 | sortparallel_moves(size_t n, uint8_t moves[n]) | 425 | sortparallel_moves(size_t n, uint8_t *moves) |
| 426 | { | 426 | { |
| 427 | uint8_t i; | 427 | uint8_t i; |
| 428 | 428 | ||
| @@ -435,7 +435,7 @@ sortparallel_moves(size_t n, uint8_t moves[n]) | |||
| 435 | } | 435 | } |
| 436 | 436 | ||
| 437 | STATIC bool | 437 | STATIC bool |
| 438 | are_lastmoves_singlecw(size_t n, const uint8_t moves[n]) | 438 | are_lastmoves_singlecw(size_t n, const uint8_t *moves) |
| 439 | { | 439 | { |
| 440 | bool two; | 440 | bool two; |
| 441 | 441 | ||
diff --git a/src/nissy.c b/src/nissy.c index aaa5c2a..3190e55 100644 --- a/src/nissy.c +++ b/src/nissy.c | |||
| @@ -215,7 +215,7 @@ long long | |||
| 215 | nissy_gendata( | 215 | nissy_gendata( |
| 216 | const char *solver, | 216 | const char *solver, |
| 217 | unsigned long long data_size, | 217 | unsigned long long data_size, |
| 218 | unsigned char data[data_size] | 218 | unsigned char *data |
| 219 | ) | 219 | ) |
| 220 | { | 220 | { |
| 221 | return nissy_gendata_unsafe(solver, data_size, data); | 221 | return nissy_gendata_unsafe(solver, data_size, data); |
| @@ -253,7 +253,7 @@ long long | |||
| 253 | nissy_checkdata( | 253 | nissy_checkdata( |
| 254 | const char *solver, | 254 | const char *solver, |
| 255 | unsigned long long data_size, | 255 | unsigned long long data_size, |
| 256 | const unsigned char data[data_size] | 256 | const unsigned char *data |
| 257 | ) | 257 | ) |
| 258 | { | 258 | { |
| 259 | solver_dispatch_t *dispatch; | 259 | solver_dispatch_t *dispatch; |
| @@ -278,9 +278,9 @@ nissy_solve( | |||
| 278 | unsigned optimal, | 278 | unsigned optimal, |
| 279 | unsigned threads, | 279 | unsigned threads, |
| 280 | unsigned long long data_size, | 280 | unsigned long long data_size, |
| 281 | const unsigned char data[data_size], | 281 | const unsigned char *data, |
| 282 | unsigned sols_size, | 282 | unsigned sols_size, |
| 283 | char sols[sols_size], | 283 | char *sols, |
| 284 | long long stats[static NISSY_SIZE_SOLVE_STATS], | 284 | long long stats[static NISSY_SIZE_SOLVE_STATS], |
| 285 | int (*poll_status)(void *), | 285 | int (*poll_status)(void *), |
| 286 | void *poll_status_data | 286 | void *poll_status_data |
diff --git a/src/nissy.h b/src/nissy.h index 0447d66..0c1d18d 100644 --- a/src/nissy.h +++ b/src/nissy.h | |||
| @@ -276,7 +276,7 @@ long long | |||
| 276 | nissy_gendata( | 276 | nissy_gendata( |
| 277 | const char *solver, | 277 | const char *solver, |
| 278 | unsigned long long data_size, | 278 | unsigned long long data_size, |
| 279 | unsigned char data[data_size] | 279 | unsigned char *data |
| 280 | ); | 280 | ); |
| 281 | 281 | ||
| 282 | /* | 282 | /* |
| @@ -296,7 +296,7 @@ long long | |||
| 296 | nissy_checkdata( | 296 | nissy_checkdata( |
| 297 | const char *solver, | 297 | const char *solver, |
| 298 | unsigned long long data_size, | 298 | unsigned long long data_size, |
| 299 | const unsigned char data[data_size] | 299 | const unsigned char *data |
| 300 | ); | 300 | ); |
| 301 | 301 | ||
| 302 | /* | 302 | /* |
| @@ -352,9 +352,9 @@ nissy_solve( | |||
| 352 | unsigned optimal, | 352 | unsigned optimal, |
| 353 | unsigned threads, | 353 | unsigned threads, |
| 354 | unsigned long long data_size, | 354 | unsigned long long data_size, |
| 355 | const unsigned char data[data_size], | 355 | const unsigned char *data, |
| 356 | unsigned sols_size, | 356 | unsigned sols_size, |
| 357 | char sols[sols_size], | 357 | char *sols, |
| 358 | long long stats[static NISSY_SIZE_SOLVE_STATS], | 358 | long long stats[static NISSY_SIZE_SOLVE_STATS], |
| 359 | int (*poll_status)(void *), | 359 | int (*poll_status)(void *), |
| 360 | void *poll_status_data | 360 | void *poll_status_data |
diff --git a/src/solvers/coord/checkdata.h b/src/solvers/coord/checkdata.h index 81394c7..791761f 100644 --- a/src/solvers/coord/checkdata.h +++ b/src/solvers/coord/checkdata.h | |||
| @@ -1,11 +1,11 @@ | |||
| 1 | STATIC long long checkdata_coord( | 1 | STATIC long long checkdata_coord( |
| 2 | const char *, unsigned long long n, const unsigned char [n]); | 2 | const char *, unsigned long long, const unsigned char *); |
| 3 | 3 | ||
| 4 | STATIC long long | 4 | STATIC long long |
| 5 | checkdata_coord( | 5 | checkdata_coord( |
| 6 | const char *solver, | 6 | const char *solver, |
| 7 | unsigned long long data_size, | 7 | unsigned long long data_size, |
| 8 | const unsigned char data[data_size] | 8 | const unsigned char *data |
| 9 | ) | 9 | ) |
| 10 | { | 10 | { |
| 11 | coord_t *coord; | 11 | coord_t *coord; |
diff --git a/src/solvers/coord/common.h b/src/solvers/coord/common.h index 8fd405c..c512b33 100644 --- a/src/solvers/coord/common.h +++ b/src/solvers/coord/common.h | |||
| @@ -9,7 +9,7 @@ STATIC size_t coord_gendata_generic(const coord_t [static 1], unsigned char *); | |||
| 9 | STATIC void append_coord_name(const coord_t [static 1], char *); | 9 | STATIC void append_coord_name(const coord_t [static 1], char *); |
| 10 | STATIC bool solution_lastqt_cw(const solution_moves_t [static 1]); | 10 | STATIC bool solution_lastqt_cw(const solution_moves_t [static 1]); |
| 11 | STATIC bool coord_can_switch(const coord_t [static 1], const unsigned char *, | 11 | STATIC bool coord_can_switch(const coord_t [static 1], const unsigned char *, |
| 12 | size_t n, const uint8_t [n]); | 12 | size_t, const uint8_t *); |
| 13 | 13 | ||
| 14 | STATIC uint64_t | 14 | STATIC uint64_t |
| 15 | coord_coord_generic( | 15 | coord_coord_generic( |
| @@ -164,7 +164,7 @@ coord_can_switch( | |||
| 164 | const coord_t coord[static 1], | 164 | const coord_t coord[static 1], |
| 165 | const unsigned char *data, | 165 | const unsigned char *data, |
| 166 | size_t n, | 166 | size_t n, |
| 167 | const uint8_t moves[n] | 167 | const uint8_t *moves |
| 168 | ) | 168 | ) |
| 169 | { | 169 | { |
| 170 | /* | 170 | /* |
diff --git a/src/solvers/coord/solve.h b/src/solvers/coord/solve.h index 018aa90..a2f89db 100644 --- a/src/solvers/coord/solve.h +++ b/src/solvers/coord/solve.h | |||
| @@ -13,13 +13,12 @@ typedef struct { | |||
| 13 | } dfsarg_solve_coord_t; | 13 | } dfsarg_solve_coord_t; |
| 14 | 14 | ||
| 15 | STATIC int64_t solve_coord(oriented_cube_t, coord_t [static 1], uint8_t, | 15 | STATIC int64_t solve_coord(oriented_cube_t, coord_t [static 1], uint8_t, |
| 16 | uint8_t, uint8_t, uint8_t, uint64_t, uint8_t, uint8_t, uint64_t n, | 16 | uint8_t, uint8_t, uint8_t, uint64_t, uint8_t, uint8_t, uint64_t, |
| 17 | const unsigned char [n], size_t m, char [m], int (*)(void *), void *); | 17 | const unsigned char *, size_t, char *, int (*)(void *), void *); |
| 18 | STATIC long long solve_coord_dispatch(oriented_cube_t, const char *, unsigned, | 18 | STATIC long long solve_coord_dispatch(oriented_cube_t, const char *, unsigned, |
| 19 | unsigned, unsigned, unsigned, unsigned, unsigned, unsigned long long n, | 19 | unsigned, unsigned, unsigned, unsigned, unsigned, unsigned long long, |
| 20 | const unsigned char [n], unsigned m, char [m], | 20 | const unsigned char *, unsigned, char *, |
| 21 | long long [static NISSY_SIZE_SOLVE_STATS], | 21 | long long [static NISSY_SIZE_SOLVE_STATS], int (*)(void *), void *); |
| 22 | int (*)(void *), void *); | ||
| 23 | STATIC bool coord_solution_admissible(const dfsarg_solve_coord_t [static 1]); | 22 | STATIC bool coord_solution_admissible(const dfsarg_solve_coord_t [static 1]); |
| 24 | STATIC bool solve_coord_dfs_stop(const dfsarg_solve_coord_t [static 1]); | 23 | STATIC bool solve_coord_dfs_stop(const dfsarg_solve_coord_t [static 1]); |
| 25 | STATIC bool coord_continue_onnormal(const dfsarg_solve_coord_t [static 1]); | 24 | STATIC bool coord_continue_onnormal(const dfsarg_solve_coord_t [static 1]); |
| @@ -210,9 +209,9 @@ solve_coord_dispatch( | |||
| 210 | unsigned optimal, | 209 | unsigned optimal, |
| 211 | unsigned threads, | 210 | unsigned threads, |
| 212 | unsigned long long data_size, | 211 | unsigned long long data_size, |
| 213 | const unsigned char data[data_size], | 212 | const unsigned char *data, |
| 214 | unsigned solutions_size, | 213 | unsigned solutions_size, |
| 215 | char sols[solutions_size], | 214 | char *sols, |
| 216 | long long stats[static NISSY_SIZE_SOLVE_STATS], | 215 | long long stats[static NISSY_SIZE_SOLVE_STATS], |
| 217 | int (*poll_status)(void *), | 216 | int (*poll_status)(void *), |
| 218 | void *poll_status_data | 217 | void *poll_status_data |
| @@ -251,9 +250,9 @@ solve_coord( | |||
| 251 | uint8_t optimal, | 250 | uint8_t optimal, |
| 252 | uint8_t threads, | 251 | uint8_t threads, |
| 253 | uint64_t data_size, | 252 | uint64_t data_size, |
| 254 | const unsigned char data[data_size], | 253 | const unsigned char *data, |
| 255 | size_t solutions_size, | 254 | size_t solutions_size, |
| 256 | char sols[solutions_size], | 255 | char *sols, |
| 257 | int (*poll_status)(void *), | 256 | int (*poll_status)(void *), |
| 258 | void *poll_status_data | 257 | void *poll_status_data |
| 259 | ) | 258 | ) |
diff --git a/src/solvers/coord/utils.h b/src/solvers/coord/utils.h index 6066049..5b8f538 100644 --- a/src/solvers/coord/utils.h +++ b/src/solvers/coord/utils.h | |||
| @@ -1,10 +1,10 @@ | |||
| 1 | STATIC coord_t *parse_coord(size_t n, const char [n]); | 1 | STATIC coord_t *parse_coord(size_t, const char *); |
| 2 | STATIC uint8_t parse_axis(const char [static 2]); | 2 | STATIC uint8_t parse_axis(const char [static 2]); |
| 3 | STATIC void parse_coord_and_axis(const char *, coord_t **, uint8_t *); | 3 | STATIC void parse_coord_and_axis(const char *, coord_t **, uint8_t *); |
| 4 | STATIC long long dataid_coord(const char *, char [static NISSY_SIZE_DATAID]); | 4 | STATIC long long dataid_coord(const char *, char [static NISSY_SIZE_DATAID]); |
| 5 | 5 | ||
| 6 | STATIC coord_t * | 6 | STATIC coord_t * |
| 7 | parse_coord(size_t n, const char coord[n]) | 7 | parse_coord(size_t n, const char *coord) |
| 8 | { | 8 | { |
| 9 | int i; | 9 | int i; |
| 10 | 10 | ||
diff --git a/src/solvers/dispatch.h b/src/solvers/dispatch.h index 7cf4441..484983e 100644 --- a/src/solvers/dispatch.h +++ b/src/solvers/dispatch.h | |||
| @@ -2,7 +2,7 @@ typedef struct { | |||
| 2 | const char *prefix; | 2 | const char *prefix; |
| 3 | long long (*dataid)(const char *, char [static NISSY_SIZE_DATAID]); | 3 | long long (*dataid)(const char *, char [static NISSY_SIZE_DATAID]); |
| 4 | long long (*gendata)( | 4 | long long (*gendata)( |
| 5 | const char *, unsigned long long n, unsigned char [n]); | 5 | const char *, unsigned long long, unsigned char *); |
| 6 | long long (*checkdata)( | 6 | long long (*checkdata)( |
| 7 | const char *, unsigned long long, const unsigned char *); | 7 | const char *, unsigned long long, const unsigned char *); |
| 8 | long long (*solve)(oriented_cube_t, const char *, unsigned, unsigned, | 8 | long long (*solve)(oriented_cube_t, const char *, unsigned, unsigned, |
diff --git a/src/solvers/h48/checkdata.h b/src/solvers/h48/checkdata.h index 53e616b..d36d8cc 100644 --- a/src/solvers/h48/checkdata.h +++ b/src/solvers/h48/checkdata.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | STATIC long long checkdata_h48( | 1 | STATIC long long checkdata_h48( |
| 2 | const char *, unsigned long long n, const unsigned char [n]); | 2 | const char *, unsigned long long, const unsigned char *); |
| 3 | 3 | ||
| 4 | /* | 4 | /* |
| 5 | Currently unused. | 5 | Currently unused. |
| @@ -178,7 +178,7 @@ STATIC long long | |||
| 178 | checkdata_h48( | 178 | checkdata_h48( |
| 179 | const char *solver, | 179 | const char *solver, |
| 180 | unsigned long long data_size, | 180 | unsigned long long data_size, |
| 181 | const unsigned char data[data_size] | 181 | const unsigned char *data |
| 182 | ) | 182 | ) |
| 183 | { | 183 | { |
| 184 | const unsigned char *table; | 184 | const unsigned char *table; |
diff --git a/src/solvers/h48/solve.h b/src/solvers/h48/solve.h index 7e2e5c1..bf34a2b 100644 --- a/src/solvers/h48/solve.h +++ b/src/solvers/h48/solve.h | |||
| @@ -49,8 +49,8 @@ typedef struct { | |||
| 49 | } dfsarg_solve_h48_maketasks_t; | 49 | } dfsarg_solve_h48_maketasks_t; |
| 50 | 50 | ||
| 51 | STATIC long long solve_h48_dispatch(oriented_cube_t, const char *, unsigned, | 51 | STATIC long long solve_h48_dispatch(oriented_cube_t, const char *, unsigned, |
| 52 | unsigned, unsigned, unsigned, unsigned, unsigned, unsigned long long n, | 52 | unsigned, unsigned, unsigned, unsigned, unsigned, unsigned long long, |
| 53 | const unsigned char [n], unsigned m, char [m], | 53 | const unsigned char *, unsigned, char *, |
| 54 | long long [static NISSY_SIZE_SOLVE_STATS], int (*)(void *), void *); | 54 | long long [static NISSY_SIZE_SOLVE_STATS], int (*)(void *), void *); |
| 55 | STATIC_INLINE bool solve_h48_stop(dfsarg_solve_h48_t [static 1]); | 55 | STATIC_INLINE bool solve_h48_stop(dfsarg_solve_h48_t [static 1]); |
| 56 | STATIC int64_t solve_h48_maketasks( | 56 | STATIC int64_t solve_h48_maketasks( |
| @@ -60,7 +60,7 @@ STATIC void *solve_h48_runthread(void *); | |||
| 60 | STATIC int64_t solve_h48_dfs(dfsarg_solve_h48_t [static 1]); | 60 | STATIC int64_t solve_h48_dfs(dfsarg_solve_h48_t [static 1]); |
| 61 | STATIC void solve_h48_log_solutions(solution_list_t [static 1], size_t); | 61 | STATIC void solve_h48_log_solutions(solution_list_t [static 1], size_t); |
| 62 | STATIC int64_t solve_h48(oriented_cube_t, uint8_t, uint8_t, uint8_t, uint8_t, | 62 | STATIC int64_t solve_h48(oriented_cube_t, uint8_t, uint8_t, uint8_t, uint8_t, |
| 63 | uint8_t, uint64_t, const unsigned char *, size_t n, char [n], | 63 | uint8_t, uint64_t, const unsigned char *, size_t, char *, |
| 64 | long long [static NISSY_SIZE_SOLVE_STATS], int (*)(void *), void *); | 64 | long long [static NISSY_SIZE_SOLVE_STATS], int (*)(void *), void *); |
| 65 | 65 | ||
| 66 | STATIC long long solve_h48_dispatch( | 66 | STATIC long long solve_h48_dispatch( |
| @@ -73,9 +73,9 @@ STATIC long long solve_h48_dispatch( | |||
| 73 | unsigned optimal, | 73 | unsigned optimal, |
| 74 | unsigned threads, | 74 | unsigned threads, |
| 75 | unsigned long long data_size, | 75 | unsigned long long data_size, |
| 76 | const unsigned char data[data_size], | 76 | const unsigned char *data, |
| 77 | unsigned sols_size, | 77 | unsigned sols_size, |
| 78 | char sols[sols_size], | 78 | char *sols, |
| 79 | long long stats[static NISSY_SIZE_SOLVE_STATS], | 79 | long long stats[static NISSY_SIZE_SOLVE_STATS], |
| 80 | int (*poll_status)(void *), | 80 | int (*poll_status)(void *), |
| 81 | void *poll_status_data | 81 | void *poll_status_data |
| @@ -410,7 +410,7 @@ solve_h48( | |||
| 410 | uint64_t data_size, | 410 | uint64_t data_size, |
| 411 | const unsigned char *data, | 411 | const unsigned char *data, |
| 412 | size_t solutions_size, | 412 | size_t solutions_size, |
| 413 | char solutions[solutions_size], | 413 | char *solutions, |
| 414 | long long stats[static NISSY_SIZE_SOLVE_STATS], | 414 | long long stats[static NISSY_SIZE_SOLVE_STATS], |
| 415 | int (*poll_status)(void *), | 415 | int (*poll_status)(void *), |
| 416 | void *poll_status_data | 416 | void *poll_status_data |
diff --git a/src/solvers/solutions.h b/src/solvers/solutions.h index 182ae18..cdb1fdb 100644 --- a/src/solvers/solutions.h +++ b/src/solvers/solutions.h | |||
| @@ -1,11 +1,10 @@ | |||
| 1 | STATIC void solution_moves_reset(solution_moves_t [static 1]); | 1 | STATIC void solution_moves_reset(solution_moves_t [static 1]); |
| 2 | STATIC void solution_moves_transform(solution_moves_t [static 1], uint8_t); | 2 | STATIC void solution_moves_transform(solution_moves_t [static 1], uint8_t); |
| 3 | STATIC void solution_moves_reorient(solution_moves_t [static 1], uint8_t); | 3 | STATIC void solution_moves_reorient(solution_moves_t [static 1], uint8_t); |
| 4 | STATIC bool solution_list_init( | 4 | STATIC bool solution_list_init(solution_list_t [static 1], size_t, char *); |
| 5 | solution_list_t [static 1], size_t n, char [n]); | ||
| 6 | STATIC bool solution_moves_equal( | 5 | STATIC bool solution_moves_equal( |
| 7 | const solution_moves_t [static 1], const solution_moves_t [static 1]); | 6 | const solution_moves_t [static 1], const solution_moves_t [static 1]); |
| 8 | STATIC bool solution_moves_is_duplicate(size_t n, const solution_moves_t[n+1]); | 7 | STATIC bool solution_moves_is_duplicate(size_t, const solution_moves_t *); |
| 9 | STATIC bool appendchar(solution_list_t [static 1], char); | 8 | STATIC bool appendchar(solution_list_t [static 1], char); |
| 10 | STATIC bool appendnormal( | 9 | STATIC bool appendnormal( |
| 11 | const solution_moves_t [static 1], solution_list_t [static 1]); | 10 | const solution_moves_t [static 1], solution_list_t [static 1]); |
| @@ -50,7 +49,7 @@ solution_moves_reorient(solution_moves_t moves[static 1], uint8_t or) | |||
| 50 | } | 49 | } |
| 51 | 50 | ||
| 52 | STATIC bool | 51 | STATIC bool |
| 53 | solution_list_init(solution_list_t sols[static 1], size_t n, char buf[n]) | 52 | solution_list_init(solution_list_t sols[static 1], size_t n, char *buf) |
| 54 | { | 53 | { |
| 55 | if (n == 0) | 54 | if (n == 0) |
| 56 | return false; | 55 | return false; |
| @@ -88,7 +87,7 @@ solution_moves_equal( | |||
| 88 | } | 87 | } |
| 89 | 88 | ||
| 90 | STATIC bool | 89 | STATIC bool |
| 91 | solution_moves_is_duplicate(size_t n, const solution_moves_t s[n+1]) | 90 | solution_moves_is_duplicate(size_t n, const solution_moves_t *s) |
| 92 | { | 91 | { |
| 93 | size_t i; | 92 | size_t i; |
| 94 | 93 | ||
diff --git a/src/solvers/tables.h b/src/solvers/tables.h index 53091f9..1e76fc1 100644 --- a/src/solvers/tables.h +++ b/src/solvers/tables.h | |||
| @@ -1,11 +1,13 @@ | |||
| 1 | STATIC uint64_t read_unaligned_u64(const unsigned char [static sizeof(uint64_t)]); | 1 | STATIC uint64_t read_unaligned_u64( |
| 2 | STATIC void write_unaligned_u64(unsigned char [static sizeof(uint64_t)], uint64_t); | 2 | const unsigned char [static sizeof(uint64_t)]); |
| 3 | STATIC void write_unaligned_u64( | ||
| 4 | unsigned char [static sizeof(uint64_t)], uint64_t); | ||
| 3 | STATIC int64_t readtableinfo( | 5 | STATIC int64_t readtableinfo( |
| 4 | size_t n, const unsigned char [n], tableinfo_t [static 1]); | 6 | size_t, const unsigned char *, tableinfo_t [static 1]); |
| 5 | STATIC int64_t readtableinfo_n( | 7 | STATIC int64_t readtableinfo_n( |
| 6 | size_t n, const unsigned char [n], uint8_t, tableinfo_t [static 1]); | 8 | size_t, const unsigned char *, uint8_t, tableinfo_t [static 1]); |
| 7 | STATIC int64_t writetableinfo( | 9 | STATIC int64_t writetableinfo( |
| 8 | const tableinfo_t [static 1], size_t n, unsigned char [n]); | 10 | const tableinfo_t [static 1], size_t, unsigned char *); |
| 9 | 11 | ||
| 10 | STATIC uint64_t | 12 | STATIC uint64_t |
| 11 | read_unaligned_u64(const unsigned char buf[static sizeof(uint64_t)]) | 13 | read_unaligned_u64(const unsigned char buf[static sizeof(uint64_t)]) |
| @@ -26,7 +28,7 @@ write_unaligned_u64(unsigned char buf[static sizeof(uint64_t)], uint64_t x) | |||
| 26 | STATIC int64_t | 28 | STATIC int64_t |
| 27 | readtableinfo( | 29 | readtableinfo( |
| 28 | size_t buf_size, | 30 | size_t buf_size, |
| 29 | const unsigned char buf[buf_size], | 31 | const unsigned char *buf, |
| 30 | tableinfo_t info[static 1] | 32 | tableinfo_t info[static 1] |
| 31 | ) | 33 | ) |
| 32 | { | 34 | { |
| @@ -70,7 +72,7 @@ readtableinfo( | |||
| 70 | STATIC int64_t | 72 | STATIC int64_t |
| 71 | readtableinfo_n( | 73 | readtableinfo_n( |
| 72 | size_t buf_size, | 74 | size_t buf_size, |
| 73 | const unsigned char buf[buf_size], | 75 | const unsigned char *buf, |
| 74 | uint8_t n, | 76 | uint8_t n, |
| 75 | tableinfo_t info[static 1] | 77 | tableinfo_t info[static 1] |
| 76 | ) | 78 | ) |
| @@ -88,7 +90,7 @@ STATIC int64_t | |||
| 88 | writetableinfo( | 90 | writetableinfo( |
| 89 | const tableinfo_t info[static 1], | 91 | const tableinfo_t info[static 1], |
| 90 | size_t data_size, | 92 | size_t data_size, |
| 91 | unsigned char buf[data_size] | 93 | unsigned char *buf |
| 92 | ) | 94 | ) |
| 93 | { | 95 | { |
| 94 | size_t i; | 96 | size_t i; |
diff --git a/src/utils/math.h b/src/utils/math.h index 3ecd313..732a031 100644 --- a/src/utils/math.h +++ b/src/utils/math.h | |||
| @@ -4,12 +4,12 @@ | |||
| 4 | #define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) | 4 | #define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) |
| 5 | 5 | ||
| 6 | STATIC int64_t factorial(int64_t); | 6 | STATIC int64_t factorial(int64_t); |
| 7 | STATIC bool isperm(size_t n, const uint8_t [n]); | 7 | STATIC bool isperm(size_t, const uint8_t *); |
| 8 | STATIC int64_t permtoindex(size_t n, const uint8_t [n]); | 8 | STATIC int64_t permtoindex(size_t, const uint8_t *); |
| 9 | STATIC void indextoperm(int64_t, size_t n, uint8_t [n]); | 9 | STATIC void indextoperm(int64_t, size_t, uint8_t *); |
| 10 | STATIC int permsign(size_t n, const uint8_t [n]); | 10 | STATIC int permsign(size_t, const uint8_t *); |
| 11 | STATIC int64_t digitstosumzero(size_t n, const uint8_t [n], uint8_t); | 11 | STATIC int64_t digitstosumzero(size_t, const uint8_t *, uint8_t); |
| 12 | STATIC void sumzerotodigits(int64_t, size_t n, uint8_t, uint8_t [n]); | 12 | STATIC void sumzerotodigits(int64_t, size_t, uint8_t, uint8_t *); |
| 13 | STATIC double intpow(double, uint64_t); | 13 | STATIC double intpow(double, uint64_t); |
| 14 | 14 | ||
| 15 | STATIC int64_t | 15 | STATIC int64_t |
| @@ -33,7 +33,7 @@ factorial(int64_t n) | |||
| 33 | } | 33 | } |
| 34 | 34 | ||
| 35 | STATIC bool | 35 | STATIC bool |
| 36 | isperm(size_t n, const uint8_t a[n]) | 36 | isperm(size_t n, const uint8_t *a) |
| 37 | { | 37 | { |
| 38 | size_t i; | 38 | size_t i; |
| 39 | bool aux[FACTORIAL_MAX+1]; | 39 | bool aux[FACTORIAL_MAX+1]; |
| @@ -61,7 +61,7 @@ isperm(size_t n, const uint8_t a[n]) | |||
| 61 | } | 61 | } |
| 62 | 62 | ||
| 63 | STATIC int64_t | 63 | STATIC int64_t |
| 64 | permtoindex(size_t n, const uint8_t a[n]) | 64 | permtoindex(size_t n, const uint8_t *a) |
| 65 | { | 65 | { |
| 66 | size_t i, j; | 66 | size_t i, j; |
| 67 | int64_t c, ret; | 67 | int64_t c, ret; |
| @@ -85,7 +85,7 @@ permtoindex(size_t n, const uint8_t a[n]) | |||
| 85 | } | 85 | } |
| 86 | 86 | ||
| 87 | STATIC void | 87 | STATIC void |
| 88 | indextoperm(int64_t p, size_t n, uint8_t r[n]) | 88 | indextoperm(int64_t p, size_t n, uint8_t *r) |
| 89 | { | 89 | { |
| 90 | int64_t c; | 90 | int64_t c; |
| 91 | size_t i, j; | 91 | size_t i, j; |
| @@ -120,7 +120,7 @@ indextoperm_error: | |||
| 120 | } | 120 | } |
| 121 | 121 | ||
| 122 | STATIC int | 122 | STATIC int |
| 123 | permsign(size_t n, const uint8_t a[n]) | 123 | permsign(size_t n, const uint8_t *a) |
| 124 | { | 124 | { |
| 125 | size_t i, j, ret; | 125 | size_t i, j, ret; |
| 126 | 126 | ||
| @@ -132,7 +132,7 @@ permsign(size_t n, const uint8_t a[n]) | |||
| 132 | } | 132 | } |
| 133 | 133 | ||
| 134 | STATIC int64_t | 134 | STATIC int64_t |
| 135 | digitstosumzero(size_t n, const uint8_t a[n], uint8_t b) | 135 | digitstosumzero(size_t n, const uint8_t *a, uint8_t b) |
| 136 | { | 136 | { |
| 137 | int64_t ret, p; | 137 | int64_t ret, p; |
| 138 | size_t i, sum; | 138 | size_t i, sum; |
| @@ -162,7 +162,7 @@ digitstosumzero(size_t n, const uint8_t a[n], uint8_t b) | |||
| 162 | } | 162 | } |
| 163 | 163 | ||
| 164 | STATIC void | 164 | STATIC void |
| 165 | sumzerotodigits(int64_t d, size_t n, uint8_t b, uint8_t a[n]) | 165 | sumzerotodigits(int64_t d, size_t n, uint8_t b, uint8_t *a) |
| 166 | { | 166 | { |
| 167 | uint8_t sum; | 167 | uint8_t sum; |
| 168 | size_t i; | 168 | size_t i; |
