aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/nissy.c4
-rw-r--r--src/solvers/h48/thread.h12
2 files changed, 4 insertions, 12 deletions
diff --git a/src/nissy.c b/src/nissy.c
index 5eeb457..56acf25 100644
--- a/src/nissy.c
+++ b/src/nissy.c
@@ -333,8 +333,8 @@ nissy_solve(
333 ret = -1; 333 ret = -1;
334 } else { 334 } else {
335 ret = THREADS > 1 ? 335 ret = THREADS > 1 ?
336 solve_h48_parent(c, minmoves, maxmoves, maxsolutions, data, solutions) : 336 solve_h48_parent(c, minmoves, maxmoves, maxsolutions, data, solutions) :
337 solve_h48(c, minmoves, maxmoves, maxsolutions, data, solutions); 337 solve_h48(c, minmoves, maxmoves, maxsolutions, data, solutions);
338 } 338 }
339 } else if (!strcmp(solver, "h48stats")) { 339 } else if (!strcmp(solver, "h48stats")) {
340 ret = solve_h48stats(c, maxmoves, data, solutions); 340 ret = solve_h48stats(c, maxmoves, data, solutions);
diff --git a/src/solvers/h48/thread.h b/src/solvers/h48/thread.h
index c76c9d6..bea34d0 100644
--- a/src/solvers/h48/thread.h
+++ b/src/solvers/h48/thread.h
@@ -1,13 +1,8 @@
1#include <pthread.h>
2#include <stdatomic.h> 1#include <stdatomic.h>
3#include <stdbool.h>
4#include <stdio.h>
5#include <stdlib.h>
6 2
7#define MAX_QUEUE_SIZE 244 3#define MAX_QUEUE_SIZE 244
8#define BFS_DEPTH 2 4#define BFS_DEPTH 2
9typedef struct 5typedef struct {
10{
11 dfsarg_solveh48_t *tasks[MAX_QUEUE_SIZE]; 6 dfsarg_solveh48_t *tasks[MAX_QUEUE_SIZE];
12 int front; 7 int front;
13 int rear; 8 int rear;
@@ -95,12 +90,10 @@ copy_queue(task_queue_t *src, task_queue_t *dest, int depth, int64_t *nsols)
95 dest->front = src->front; 90 dest->front = src->front;
96 dest->rear = src->rear; 91 dest->rear = src->rear;
97 dest->tasks_count = src->tasks_count; 92 dest->tasks_count = src->tasks_count;
98 // atomic_init(&dest->active, &src->active);
99 pthread_cond_broadcast(&dest->cond); 93 pthread_cond_broadcast(&dest->cond);
100 pthread_mutex_unlock(&dest->mutex); 94 pthread_mutex_unlock(&dest->mutex);
101} 95}
102 96
103
104STATIC void * 97STATIC void *
105start_thread(void *arg) 98start_thread(void *arg)
106{ 99{
@@ -253,8 +246,7 @@ solve_h48_parent(
253 tableinfo_t info; 246 tableinfo_t info;
254 pthread_t threads[THREADS]; 247 pthread_t threads[THREADS];
255 248
256 if (!readtableinfo_n(data, 2, &info)) 249 if (!readtableinfo_n(data, 2, &info)){
257 {
258 LOG("solve_h48: error reading table\n"); 250 LOG("solve_h48: error reading table\n");
259 return 0; 251 return 0;
260 } 252 }

Generated with cgit - Back to sebastiano.tronto.net