- add $get_values to CategoricalVariable
- add $get_modulo_differences to IntegerVariable
- add bitset_count_and for quick intersection counts
- Add a
copy_frommethod to theBitsetclass. - Improve performance of bitset operations by making
num_bitsa compile-time constant expression. - Support vectors of logicals as an argument to
filter_bitset. - Allow processes to be named, in order to produce more useful call stacks.
- Allow events and variables to be added and removed when restoring the simulation.
- Added an
all.equalimplementation for bitsets.
- Added a flag to the Event constructor to tweak the restore semantics.
- Replaced the Bitset R6 class with named lists, making them faster to instantiate.
- Replaced the bitset sampling implementation with a faster algorithm.
- Various other performance improvements, mostly avoiding copies of vectors.
- Fixed the website generation.
- Fix an uninitialized memory-read that could cause spurious event triggers.
- Simulation state can be saved and restored, allowing the simulation to be resumed.
- Optimised rendering memory usage and speed
- Added benchmarks for rendering
- Vector-based updates are consolidated into one place
- Resizing memory bug fixed
- Simplifed RaggedVariable instantiations to aliases until implementations are implemented
- All variables and targeted events are resizable
- Ragged variables for integers and doubles
- fix bug with C++ event listeners
- Check for bad bitset input when queueing updates to CategoricalVariable objects PR here
- Add "bench" package to suggests and include benchmarking scripts of major
functionality in
tests/performancePR here - Update to latest version of "testthat" package so that C++ tests of
IterableBitsetobject can be run without giving LTO check errors (seesrc/test-bitset.cpp) - Add CITATION file
- Add method
Bitset$clearto zero out all set bits in bitsets PR here - Fix bug (issue here) where
DoubleVariableandIntegerVariableupdates could change size of the variable object PR here
- Added a
NEWS.mdfile to track changes to the package. - Add Mac OS files to .gitignore
- Update pkgdown reference organization.
- Update R-CMD-check workflow.
-
Event.hnow defines class methods outside of the class definition for easier readability, and add documentation. -
TargetedEvent$schedulenow dispatches to different C++ functions inevent.cppandEvent.hdepending on if input index is a bitset or vector (previous behavior used bitset's$to_vector$ method in R to pass a vector). -
test-event.Rnow only contains tests forEventclass, new test filetest-targetedevent.Rcontains a much updated suite of tests for theTargetedEventclass. - Fix bug where
CategoricalVariablecould be queued updates for indices in a vector that were outside the range of the population. - Update
Bitset$notto operate in place. inplace = FALSE will be deprecated in 0.2.0 - Rename the IterableBitset ~ operator to !
- Added package logo.
- Update DESCRIPTION and remove "reshape2" from suggested packages.
- If given a
Bitsetfor argumentindex,queue_updatemethods forIntegerVariableandDoubleVariablepass the bitset directly to the C++ functionsinteger_variable_queue_update_bitsetanddouble_variable_queue_update_bitsetrather than converting to vector and using vector methods. CategoricalVariable.h,IntegerVariable.h, andDoubleVariable.hnow define class methods outside of the class definition for easier readability, and add documentation.CategoricalVariable,IntegerVariable, andDoubleVariableclasses define a virtual destructor with default implementation.get_index_of_setandget_size_of_set_vectormethods forIntegerVariablenow pass arguments by reference.get_valuesmethod forIntegerVariableandDoubleVariablecorrected to return value rather than reference.- add overload for
get_valuesforIntegerVariableandDoubleVariableto acceptstd::vector<size_t>as argument rather than converting to bitset. - add function
bitset_to_vector_internaltoIterableBitset.h. - split
testthat/test/test-variables.Rintotestthat/test/test-categoricalvariable.R,testthat/test/test-integervariable.R, andtestthat/test/test-doublevariable.R - remove unnecessary
#includestatements from header files. - remove unnecessary comparisons for
size_ttypes.