From c548499e68e473452592c9b0bf860f76bd8b94b8 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Fri, 30 Aug 2024 07:52:53 +0200 Subject: Added tool for checking new tables (and they are wrong) --- tools/020_solve_small/solve_small.c | 51 +++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 tools/020_solve_small/solve_small.c (limited to 'tools/020_solve_small') diff --git a/tools/020_solve_small/solve_small.c b/tools/020_solve_small/solve_small.c new file mode 100644 index 0000000..dee2b55 --- /dev/null +++ b/tools/020_solve_small/solve_small.c @@ -0,0 +1,51 @@ +#include + +#include "../tool.h" + +const char *solver = "h48"; +const char *options = "0;4;20"; +const char *filename = "tables/h48h0k4"; +char *buf; + +char *scrambles[] = { + "R D' R2 D R U2 R' D' R U2 R D R'", /* 12 optimal */ + "RLUD RLUD RLUD", /* 12 optimal */ + NULL +}; + +void run(void) { + int i; + int64_t n; + char sol[100], cube[22]; + + printf("Solved the following scrambles:\n\n"); + for (i = 0; scrambles[i] != NULL; i++) { + printf("%s\n", scrambles[i]); + fprintf(stderr, "Solving scramble %s\n", scrambles[i]); + if (nissy_frommoves(scrambles[i], cube) == -1) { + fprintf(stderr, "Invalid scramble, " + "continuing with next scramble\n"); + continue; + } + n = nissy_solve( + cube, "h48", options, "", 0, 20, 1, -1, buf, sol); + if (n == 0) + fprintf(stderr, "No solution found, " + "continuing with next scramble\n"); + } + printf("\n"); +} + +int main(void) { + + srand(time(NULL)); + nissy_setlogger(log_stderr); + + if (getdata(solver, options, &buf, filename) != 0) + return 1; + + timerun(run, "small solver benchmark"); + + free(buf); + return 0; +} -- cgit v1.3