aboutsummaryrefslogtreecommitdiff
path: root/src/solvers/coord
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2025-05-27 09:03:51 +0200
committerSebastiano Tronto <sebastiano@tronto.net>2025-05-27 09:03:51 +0200
commit7c934801f88c640970ad41b5ddd39f4e39609f28 (patch)
tree76a065db76fbcbdec818b8b6cc8b108ac1c9eb49 /src/solvers/coord
parent243a852d31483d10983c50978d1d4471efd0e553 (diff)
downloadnissy-core-7c934801f88c640970ad41b5ddd39f4e39609f28.tar.gz
nissy-core-7c934801f88c640970ad41b5ddd39f4e39609f28.zip
Removed VLA notation from function parameters.
I found out that this gives undefined behavior when then size is 0. Better not to have it at all, it is confusing for other developers anyway.
Diffstat (limited to 'src/solvers/coord')
-rw-r--r--src/solvers/coord/checkdata.h4
-rw-r--r--src/solvers/coord/common.h4
-rw-r--r--src/solvers/coord/solve.h19
-rw-r--r--src/solvers/coord/utils.h4
4 files changed, 15 insertions, 16 deletions
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 @@
1STATIC long long checkdata_coord( 1STATIC 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
4STATIC long long 4STATIC long long
5checkdata_coord( 5checkdata_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 *);
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(const coord_t [static 1], const unsigned char *, 11STATIC 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
14STATIC uint64_t 14STATIC uint64_t
15coord_coord_generic( 15coord_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
15STATIC int64_t solve_coord(oriented_cube_t, coord_t [static 1], uint8_t, 15STATIC 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 *);
18STATIC long long solve_coord_dispatch(oriented_cube_t, const char *, unsigned, 18STATIC 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 *);
23STATIC bool coord_solution_admissible(const dfsarg_solve_coord_t [static 1]); 22STATIC bool coord_solution_admissible(const dfsarg_solve_coord_t [static 1]);
24STATIC bool solve_coord_dfs_stop(const dfsarg_solve_coord_t [static 1]); 23STATIC bool solve_coord_dfs_stop(const dfsarg_solve_coord_t [static 1]);
25STATIC bool coord_continue_onnormal(const dfsarg_solve_coord_t [static 1]); 24STATIC 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 @@
1STATIC coord_t *parse_coord(size_t n, const char [n]); 1STATIC coord_t *parse_coord(size_t, const char *);
2STATIC uint8_t parse_axis(const char [static 2]); 2STATIC uint8_t parse_axis(const char [static 2]);
3STATIC void parse_coord_and_axis(const char *, coord_t **, uint8_t *); 3STATIC void parse_coord_and_axis(const char *, coord_t **, uint8_t *);
4STATIC long long dataid_coord(const char *, char [static NISSY_SIZE_DATAID]); 4STATIC long long dataid_coord(const char *, char [static NISSY_SIZE_DATAID]);
5 5
6STATIC coord_t * 6STATIC coord_t *
7parse_coord(size_t n, const char coord[n]) 7parse_coord(size_t n, const char *coord)
8{ 8{
9 int i; 9 int i;
10 10

Generated with cgit - Back to sebastiano.tronto.net