From 0ebba869512abc8e37e461e7587f686fe7c91c6c Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Sat, 25 May 2024 10:25:16 +0200 Subject: Updated TODO and small changes to table gen --- TODO.txt | 37 +++++++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 8 deletions(-) (limited to 'TODO.txt') diff --git a/TODO.txt b/TODO.txt index 397a817..d6d3699 100644 --- a/TODO.txt +++ b/TODO.txt @@ -1,11 +1,32 @@ -TODO - - add back benchmark, test performance of table computation - - table generation is still slow, how to improve? profile! - selfsim could be a list of cubes (representatives) - - add h48 table for different values of k - -TODO checkdata (available from cube.h) and hash check for cocsep -TODO benchmarks for solve and table generation +Table generation: transform only edges + (cube_avx2 and cube_portable) + - implement compose_fast_edges and compose_fast_corners + - tests not needed: just base the full transform on the other two + - cube_portable: easy for compose_fast to call the other two + - cube_avx2: split in (EP+EO+CP) and (CO); compose_edges call + (EP+EO+CP), compose_corners calls the full compose + (cube_routines) + - refactor transform(): use big array of cubes instead of switch + - add transform_edges and transform_corners + (solve_h48) + - uncomment transform_edges() and transform_corners() + +Solver + - write a solver (how many tricks? some, but not all are needed) + +More utilities for tables (in cube.h) + - a "dryrun" function that only tells you the size needed + - check hash of generated data + +Goal: find out which k value is best + - temporarily call current table and solver "k4" instead of h48 + - write table generation and solver for k2 and k1 + - benchmark for different sizes! + +Refactoring + - remove cube type and some low-level utilities from interface, + rename cube_fast_t to cube_t + - add b64 i/o format, base64 encoded cube, one 6-bit word per piece ## H48 optimal solver (some has already been implemented) -- cgit v1.3