aboutsummaryrefslogtreecommitdiff
path: root/src/cubetypes.h
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano.tronto@gmail.com>2021-12-23 00:31:12 +0100
committerSebastiano Tronto <sebastiano.tronto@gmail.com>2021-12-23 00:31:12 +0100
commit4dddac9e257433a8e2f5f763d91470a7e05ff680 (patch)
treeb6f01defc37373ceabd216146262969b6958e7ed /src/cubetypes.h
parent9d3c52efd1115e3d01869f729f274027813422c3 (diff)
downloadnissy-4dddac9e257433a8e2f5f763d91470a7e05ff680.tar.gz
nissy-4dddac9e257433a8e2f5f763d91470a7e05ff680.zip
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.
Diffstat (limited to 'src/cubetypes.h')
-rw-r--r--src/cubetypes.h5
1 files changed, 5 insertions, 0 deletions
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
265 uint64_t n; 265 uint64_t n;
266 Coordinate * coord; 266 Coordinate * coord;
267 Moveset * moveset; 267 Moveset * moveset;
268 bool compact;
269 int base;
270 uint64_t count[16];
271 PruneData * fallback;
272 uint64_t fbmod;
268}; 273};
269 274
270struct 275struct

Generated with cgit - Back to sebastiano.tronto.net