From 87a15e960e31365698df7e06cd3e6b851e17c1a5 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Sun, 5 Mar 2023 10:13:01 +0100 Subject: I made a mess, but it works. Still need to implement new optimal solver. After that, a big redesign is due. --- src/threader_single.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/threader_single.c (limited to 'src/threader_single.c') diff --git a/src/threader_single.c b/src/threader_single.c new file mode 100644 index 0000000..232835d --- /dev/null +++ b/src/threader_single.c @@ -0,0 +1,35 @@ +#include "threader_single.h" + +static void append_sol(Alg *, void *); +static void dispatch(DfsArg *, AlgList *, Solver *, Threader *); +static int get_nsol(void *); + +Threader threader_single = { + .append_sol = append_sol, + .dispatch = dispatch, + .get_nsol = get_nsol, +}; + +static void +append_sol(Alg *alg, void *threaddata) +{ + append_alg((AlgList *)threaddata, alg); +} + +static void +dispatch(DfsArg *arg, AlgList *sols, Solver *solver, Threader *threader) +{ + arg->threaddata = sols; + arg->niss = false; + arg->current_alg = new_alg(""); + + dfs(arg, solver, threader); + + free_alg(arg->current_alg); +} + +static int +get_nsol(void *threaddata) +{ + return ((AlgList *)threaddata)->len; +} -- cgit v1.3