Repository navigation
v1.0.0
First stable release. The seven dasmig generator libraries now build on the core, so its output contract is fixed for major version 1: a seed gives the same bits on every supported compiler, standard library and CPU (GCC, Clang with libc++, Apple Clang, MSVC, Emscripten; x86-64 and ARM64), checked by known-answer tests in CI.
Output is identical to 0.3.4. Libraries require it with DASMIG_CORE_REQUIRE(1, 0).
Contents
rng: xoshiro256** seeded through SplitMix64, withsplit(label)/split(index)for independent streams.- Distributions with fully specified algorithms:
uniform_int(Lemire),uniform_real,bernoulli,normal(Marsaglia polar),lognormal,discrete,shuffle,sample_indices,pick; ownexp/logand FMA-proof arithmetic. tsvreader with typed columns andfile:line: columnerrors;layered_tablefor data layers (add / override / replace,disabledrows, all-or-nothing validation,data_hash()).weighted_table,json_writer,seed_signature,utf8,dataset,resources(resource probing and compiled-in data;scripts/embed.py).
Since 0.3.3
layered_tableindexes keys once, in a hash map: loading name-generator's 2.3 million rows went from 2.5 s to 0.67 s in the table, with the same rows, order, hashes and errors (0.3.4).