From 6dc6d1004393b7c093a3aef7456af67662d56fee Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Mon, 16 Jan 2023 18:47:50 +0100 Subject: Refined comments for solve rework --- TODO/2.1.md | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/TODO/2.1.md b/TODO/2.1.md index e35016a..6cdd946 100644 --- a/TODO/2.1.md +++ b/TODO/2.1.md @@ -2,9 +2,22 @@ ## Rework solver -* Split solve in solve_coord, solve_generic (and maybe solve_singlethread, see - notes about build options). -* Add a void * extradata to DfsArg. +### Architecture + +* Nail down the theory first +* One generic solve module that does not depend on anything else, + not even on cube if possible +* The generic file includes the logic for branching and calls functions + provided as parameters to move the cube and check the status etc... +* This includes the logic for single/multithreading (simplify if compiled + with N_THREADS = 1 or whatever this option is going to be) +* The data representing the cube is a void pointer +* Move two-step solve to a different module +* Each other solver (solve coord, solve fst, solve multistep) + should go in a separate module + +### Other practicalities + * remove cube from dfsarg? (i still need to save the scramble somewhere, but I really only use it in dfs_niss) * Re-work prepare_step process for solve_generic (nxopt table is special). -- cgit v1.3