From 4dddac9e257433a8e2f5f763d91470a7e05ff680 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Thu, 23 Dec 2021 00:31:12 +0100 Subject: Added the possibility to compress tables to 2 bits per entry. This is done similarly to nxopt: one base value is selected and entries are memorized based on that base value. Values higher than base+3 are returned as base+3 (still a valid estimate) and values lower or equal to base require a lookup on a "fallback" table, which must give a valid estimate for the larger one (e.g. nxopt31 or khuge can fallback to drud_sym16). I have also added some info to the pruning table files: base value and distribution. Unfortunately this means that everyone who has used nissy 2.0beta has to re-generate the tables. --- src/cubetypes.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/cubetypes.h') diff --git a/src/cubetypes.h b/src/cubetypes.h index d1d36b2..7563abb 100644 --- a/src/cubetypes.h +++ b/src/cubetypes.h @@ -265,6 +265,11 @@ prunedata uint64_t n; Coordinate * coord; Moveset * moveset; + bool compact; + int base; + uint64_t count[16]; + PruneData * fallback; + uint64_t fbmod; }; struct -- cgit v1.3