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/gendata_h48.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/solvers/h48/gendata_h48.h') diff --git a/src/solvers/h48/gendata_h48.h b/src/solvers/h48/gendata_h48.h index ef8a854..b37bcfb 100644 --- a/src/solvers/h48/gendata_h48.h +++ b/src/solvers/h48/gendata_h48.h @@ -3,7 +3,7 @@ STATIC long long gendata_h48_dispatch( STATIC uint64_t gendata_h48short(gendata_h48short_arg_t [static 1]); STATIC int64_t gendata_h48(gendata_h48_arg_t [static 1]); STATIC void gendata_h48_maintable(gendata_h48_arg_t [static 1]); -STATIC void *gendata_h48_runthread(void *); +STATIC wrapthread_return_t gendata_h48_runthread(void *); STATIC_INLINE void gendata_h48_mark(gendata_h48_mark_t [static 1]); STATIC_INLINE bool gendata_h48_dfs_stop( @@ -230,9 +230,9 @@ gendata_h48_maintable(gendata_h48_arg_t arg[static 1]) inext = 0; count = 0; - wrapthread_mutex_init(&shortcubes_mutex, NULL); + wrapthread_mutex_init(&shortcubes_mutex); for (i = 0; i < CHUNKS; i++) - wrapthread_mutex_init(&table_mutex[i], NULL); + wrapthread_mutex_init(&table_mutex[i]); for (i = 0; i < THREADS; i++) { dfsarg[i] = (h48_dfs_arg_t){ .h = arg->h, @@ -251,7 +251,7 @@ gendata_h48_maintable(gendata_h48_arg_t arg[static 1]) dfsarg[i].table_mutex[ii] = &table_mutex[ii]; wrapthread_create( - &thread[i], NULL, gendata_h48_runthread, &dfsarg[i]); + &thread[i], gendata_h48_runthread, &dfsarg[i]); } if (NISSY_CANSLEEP) { @@ -281,7 +281,7 @@ gendata_h48_maintable(gendata_h48_arg_t arg[static 1]) } for (i = 0; i < THREADS; i++) - wrapthread_join(thread[i], NULL); + wrapthread_join(thread[i]); h48map_destroy(&shortcubes); @@ -291,7 +291,7 @@ gendata_h48_maintable(gendata_h48_arg_t arg[static 1]) writetableinfo(&arg->info, bufsize, (unsigned char *)arg->h48buf); } -STATIC void * +STATIC wrapthread_return_t gendata_h48_runthread(void *arg) { uint64_t coord, coordext, coordmin; @@ -328,7 +328,7 @@ gendata_h48_runthread(void *arg) } } - return NULL; + return wrapthread_return_val; } STATIC void -- cgit v1.3