aboutsummaryrefslogtreecommitdiff
path: root/src/threader_single.c
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2023-03-05 10:13:01 +0100
committerSebastiano Tronto <sebastiano@tronto.net>2023-03-05 10:13:01 +0100
commit87a15e960e31365698df7e06cd3e6b851e17c1a5 (patch)
tree606a42e6251df3c24d92a2edefce723bdd103620 /src/threader_single.c
parent3bfd0bb403d62bd942d1912d085ea59b156062fd (diff)
downloadnissy-87a15e960e31365698df7e06cd3e6b851e17c1a5.tar.gz
nissy-87a15e960e31365698df7e06cd3e6b851e17c1a5.zip
I made a mess, but it works. Still need to implement new optimal solver.
After that, a big redesign is due.
Diffstat (limited to 'src/threader_single.c')
-rw-r--r--src/threader_single.c35
1 files changed, 35 insertions, 0 deletions
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 @@
1#include "threader_single.h"
2
3static void append_sol(Alg *, void *);
4static void dispatch(DfsArg *, AlgList *, Solver *, Threader *);
5static int get_nsol(void *);
6
7Threader threader_single = {
8 .append_sol = append_sol,
9 .dispatch = dispatch,
10 .get_nsol = get_nsol,
11};
12
13static void
14append_sol(Alg *alg, void *threaddata)
15{
16 append_alg((AlgList *)threaddata, alg);
17}
18
19static void
20dispatch(DfsArg *arg, AlgList *sols, Solver *solver, Threader *threader)
21{
22 arg->threaddata = sols;
23 arg->niss = false;
24 arg->current_alg = new_alg("");
25
26 dfs(arg, solver, threader);
27
28 free_alg(arg->current_alg);
29}
30
31static int
32get_nsol(void *threaddata)
33{
34 return ((AlgList *)threaddata)->len;
35}

Generated with cgit - Back to sebastiano.tronto.net