aboutsummaryrefslogtreecommitdiff
path: root/src/solvers/coord/solve.h
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2025-04-29 10:08:04 +0200
committerSebastiano Tronto <sebastiano@tronto.net>2025-04-29 10:08:04 +0200
commit8d3fc9f5f9c0593fcae9c451efe6c89c64dcbe84 (patch)
tree8c0182f9bf94aaa8afe5126988e07af82c4409fd /src/solvers/coord/solve.h
parentcdf46d85efe7fa54e8c302a255214341c567b4af (diff)
downloadnissy-core-8d3fc9f5f9c0593fcae9c451efe6c89c64dcbe84.tar.gz
nissy-core-8d3fc9f5f9c0593fcae9c451efe6c89c64dcbe84.zip
Added stop / pause / resume solve to API
Diffstat (limited to '')
-rw-r--r--src/solvers/coord/solve.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/solvers/coord/solve.h b/src/solvers/coord/solve.h
index 48cc704..8eb3e9d 100644
--- a/src/solvers/coord/solve.h
+++ b/src/solvers/coord/solve.h
@@ -14,10 +14,10 @@ typedef struct {
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, 16 uint8_t, uint8_t, uint8_t, uint64_t, uint8_t, uint8_t, uint64_t,
17 const unsigned char *, size_t n, char [n]); 17 const unsigned char *, size_t n, char [n], int (*)(void *), void *);
18STATIC int64_t solve_coord_dispatch(oriented_cube_t, const char *, uint8_t, 18STATIC int64_t solve_coord_dispatch(oriented_cube_t, const char *, uint8_t,
19 uint8_t, uint8_t, uint64_t, uint8_t, uint8_t, uint64_t, 19 uint8_t, uint8_t, uint64_t, uint8_t, uint8_t, uint64_t,
20 const unsigned char *, size_t n, char [n]); 20 const unsigned char *, size_t n, char [n], int (*)(void *), void *);
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]);
@@ -211,7 +211,9 @@ solve_coord_dispatch(
211 uint64_t data_size, 211 uint64_t data_size,
212 const unsigned char *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 int (*poll_status)(void *),
216 void *poll_status_data
215) 217)
216{ 218{
217 coord_t *coord; 219 coord_t *coord;
@@ -233,7 +235,7 @@ solve_coord_dispatch(
233 235
234 return solve_coord(oc, coord, axis, nissflag, minmoves, maxmoves, 236 return solve_coord(oc, coord, axis, nissflag, minmoves, maxmoves,
235 maxsolutions, optimal, threads, data_size, data, 237 maxsolutions, optimal, threads, data_size, data,
236 solutions_size, sols); 238 solutions_size, sols, poll_status, poll_status_data);
237} 239}
238 240
239STATIC int64_t 241STATIC int64_t
@@ -250,7 +252,9 @@ solve_coord(
250 uint64_t data_size, 252 uint64_t data_size,
251 const unsigned char *data, 253 const unsigned char *data,
252 size_t solutions_size, 254 size_t solutions_size,
253 char sols[solutions_size] 255 char sols[solutions_size],
256 int (*poll_status)(void *),
257 void *poll_status_data
254) 258)
255{ 259{
256 int8_t d; 260 int8_t d;

Generated with cgit - Back to sebastiano.tronto.net