Repository navigation
Release notes for v0.4.0
- Renames amsim to knoop. Hip-hip-hooray!
- Fixes critical bug in CMake routine where
libaecandlibzwere dynamically linked dependencies, which meansknoopwould not run unless those are installed. Existing releases remain broken unless installed in an environment which has these dependencies. - Refactors
core/random.h(formerlycore/rng.h) to use Boost'sXoshiro256ppinstead of the nativeXoshiro256ssrandom number generator, which is now removed. - Reworks mating model by adding stall-based termination criterion and adopting sensible default values;
--tolerancenow controls how far below noise floor the algorithm should aim to be (see below). - Renames flag
--n-threadsto--n-workersfor compatibility with replicate multithreading (see below). - Adds benchmarking functionality via Google Benchmark. Some mock benchmarks are implemented in
benchmarks/benchmarks.ccand are compiled into the target executablebenchmarks. - Adds support for multithreaded replicate simulations in workers via OpenMP, made available through option
--n-threads-per-worker. - Adds realistic empirical perturbations to spousal correlation objective each generation via generative model; this functionality can be disabled via the new flag
--exact. - Optimises
UpdateGenomeclass by precomputing Bernoulli threshold computation instead of reinvoking at word boundary. This led to significant speedups, makingUpdateGenomeabout as fast asGenerateHaplotypes. - Adds selection of sample probands via the
--includeflag; samples can now be customised to only include a select subset of members. - Adds
Doxyfileand a little bit of documentation (will be completed incrementally). - Renames several files and modules for clarity.
Full Changelog: v0.3.4...v0.4.0