commit 4e2b4e603c7e84c7556f489d7d8dab06915b3a9b
parent 25e0d5703367969170f8f47051c7adcf58f5c990
Author: Sebastiano Tronto <sebastiano.tronto@gmail.com>
Date: Tue, 14 Dec 2021 18:08:10 +0100
fixed a bug
Diffstat:
3 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/TODO.md b/TODO.md
@@ -45,9 +45,13 @@ It's more of a personal reminder than anything else.
## Performance
* solve (allow_next): filter out based on base_move; only check once for each
triple of moves; how to deal with different movesets?
-* Light optimal solver: use drud table instead of khuge, with tricks as above
-and one more trick: if the last move is 180° avoid computing inverse cube
-and just use previous values for all 3 axes.
+* try htr corners + edges in slice but not oriented (300Mb table);
+ de Bondt's trick does not work, but I can use full symmetry and
+ take advantage of the fact that it is a subset invariant under half-turns
+ (like in light optimal solver)
+* Another idea: DR + cornershtr (5Gb table); same as above, de Bondt's trick
+ does not work but I can use half-turn trick
+* On the contrary: DR + separate UD corners allow dB's trick, but no ht-trick
## Coordinates, symmetries, pruning tables
* Cleanup symcoord.c: some coordinates and symdata are never actually used;
diff --git a/nissy b/nissy
Binary files differ.
diff --git a/src/steps.c b/src/steps.c
@@ -1330,6 +1330,10 @@ estimate_light_HTM(DfsArg *arg)
ptableval(&pd_drud_sym16_HTM, aux);
}
UPDATECHECKSTOP(ret, arg->ed->inverse_rl, target);
+ } else {
+ UPDATECHECKSTOP(ret, arg->ed->inverse_ud, target);
+ UPDATECHECKSTOP(ret, arg->ed->inverse_fb, target);
+ UPDATECHECKSTOP(ret, arg->ed->inverse_rl, target);
}
/* Michel de Bondt's trick*/