From 2c291aed4bb80f07e8557284d3399cf1e2a4ccb9 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Sun, 1 Mar 2026 18:09:44 +0100 Subject: Improve Windows build support. - Use multithreading (works with a sufficiently recent version of the Microsoft developer tools / C SDK). - Detect CPU architecture and use AVX2 or NEON when appropriate. - Automatically detect python installation path. --- src/solvers/h48/solve.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/solvers/h48/solve.h') diff --git a/src/solvers/h48/solve.h b/src/solvers/h48/solve.h index 15ac6ea..4fd0aea 100644 --- a/src/solvers/h48/solve.h +++ b/src/solvers/h48/solve.h @@ -78,7 +78,7 @@ STATIC_INLINE void h48_prune_restore_inverse(const h48_prune_t [static 1], STATIC int64_t solve_h48_maketasks( dfsarg_solve_h48_t [static 1], dfsarg_solve_h48_maketasks_t [static 1], solve_h48_task_t [static H48_STARTING_CUBES], int [static 1]); -STATIC void *solve_h48_runthread(void *); +STATIC wrapthread_return_t solve_h48_runthread(void *); STATIC int64_t solve_h48_dfs(dfsarg_solve_h48_t [static 1]); STATIC void solve_h48_log_solutions(solution_list_t [static 1], size_t); STATIC int solve_h48_compare_tasks(const void *, const void *); @@ -383,7 +383,7 @@ solve_h48_dfs(dfsarg_solve_h48_t arg[static 1]) return ret; } -STATIC void * +STATIC wrapthread_return_t solve_h48_runthread(void *arg) { int i, j; @@ -445,7 +445,7 @@ solve_h48_runthread(void *arg) solve_h48_runthread_end: dfsarg->thread_done = true; - return NULL; + return wrapthread_return_val; } STATIC int64_t @@ -638,7 +638,7 @@ solve_h48( } - wrapthread_mutex_init(&solutions_mutex, NULL); + wrapthread_mutex_init(&solutions_mutex); mtarg = (dfsarg_solve_h48_maketasks_t) { .cube = oc.cube, @@ -689,7 +689,7 @@ solve_h48( arg[i].target_depth = d; arg[i].thread_done = false; wrapthread_create( - &thread[i], NULL, solve_h48_runthread, &arg[i]); + &thread[i], solve_h48_runthread, &arg[i]); } /* Log solutions and handle pause / stop / resume */ @@ -718,7 +718,7 @@ solve_h48( } for (i = 0; i < threads; i++) - wrapthread_join(thread[i], NULL); + wrapthread_join(thread[i]); solve_h48_log_solutions(&sollist, lastused); lastused = sollist.used; -- cgit v1.3