Skip to content

Many API fixes

Compare
Choose a tag to compare
@molpopgen molpopgen released this 17 Jul 18:49

This release addresses several lingering API issues in fwdpp. It also breaks API compatibility for multi-locus simulations, but it also makes them more flexible.

  • Issue #51 resolved.
  • API issue #50 resolved. The KTfwd::GSLrng_t is no longer copy-constructible.
  • API issue #48 is addressed. This is an API change breaking backwards compatilibity for multi-locus/region simulations. The new API allows more flexibility in modeling interlocus/region crossovers. The API for KTfwd::sample_diploid is changed for multi-locus/region sims. Two functions, KTfwd::make_poisson_interlocus_rec and KTfwd::make_binomial_interlocus_rec, return vectors of callbacks bound to the two new structs. commit
  • API issue #49 is addressed. The changes maintain compile-time API compatibility with previous library versions.
  • Refactored KTfwd::extensions::discrete_rec_model and KTfwd::extensions::discrete_mut_model to use PIMPL idiom and be
    default-constructible. commit
  • Extend concept of regions to multi-locus sims via extensions::bind_vec__drm and extensions::bind_vec::dmm. commit
  • extensions::discrete_mut_model::make_mut now takes a pointer to the generation, allowing a single point of binding rather than binding each generation. commit
  • Exceptions in namespace KTfwd::extensions changed from std::runtime_error to std::invalid_argument where appropriate.
  • Fix bug in examples/HOC_ind.cc affecting (improper) recycling of fixations during the simulation. commit
  • KTfwd::data_matrix is now based on std:int8_t instead of char.