NEWS.md
$time_type()
to determine of a model uses discrete time (discrete
) or continuous time (continuous
).binomial()
; previously n
of greater than 2^31 - 1
(.Machine$integer.max
) would overflow and error (mrc-4046, reported by Jørgen Eriksson Midtbø).cpp_std
, and including other packages’ headers using the argument linking_to
in dust::dust()
update_state()
method gains an index
argument for setting just some variables in an update.min_log_likelihood
support to $filter()
(#361)$filter()
with deterministic models (that support it)dust::dust_rng_state_long_jump
now that we have proper distributed RNG state support (#343)dust::dust_rng_distributed_state
and dust::dust_rng_distributed_pointer
), and documentation to guide their use (vignette("rng_distributed")
) (#297)$set_state
, $reset
and $set_pars
which were deprecated in favour of $update_state
in 0.9.21 (#273)xoshiro256star_state
becomes xoshiro256star
(#332)xoshiro128plus
(#282)dust_rng
object has been refactored with methods changing names, a new behaviour when using multiple generators, and parallelisation (#279)_t
in favour of _type
in line with the POSIX standard; this impacts all existing dust-using code (#278)dust::dbinom
to dust::density::binomial
(and so on, #291)$reset()
, $set_pars()
and $set_state()
) in favour of a single method that can update any or all of parameters, model state and time, $update_state()
(#180)run
and simulate
, with deterministic
now an argument to the constructor (#270)dust::densities::dnbinom()
to offer both of the same parameterisations as R’s dnbinom
, explicitly as dust::densities::dnbinom_mu()
and dust::densities::dnbinom_prob()
(#171)dust::dust_generate
for creating a mini-package from a dust model for inspection or later loading (#204)dust::dust
to skip the model cache, which may be useful when compiling with (say) different GPU options (#248)vignette("data")
and vignette("cuda")
(#183, #229)run()
now (optionally) exposedreal_t
at compilation, and return information about the size of real_t
from model objects (#233)model$filter(device = TRUE)
(#224)dust::dust_simulate
and dust::dust_iterate
, which were deprecated in 0.7.9 (#215)rbinom
are converted into exceptions which are safely thrown even from parallel code (#190)filter
method can save snapshots at points along a run (#176)rnorm()
running on a GPU (device code).workdir
is used with dust::dust
(#195)vignette("design")
(#161)vignette("multi")
(#169)set_pars
method to be used with multiparameter dust objects (#125)$filter()
method (only works for models with a compiled “compare” method) (#155)$compare_data()
with multiple parameters, with the dust::dust_data
function now expanded to support this (#152)$n_particles()
and $n_state()
to every dust model which can be used to query the size of the state (#149)internal_t
and shared_t
. The latter is a pointer to constant data shared across all particles within a parameter set (#143)<dust/densities.hpp>
. Supported distributions include dbinom
, dnbinom
, dbetabinom
and dpois
. These are included for use within comparison functions (#134)data
argument (and along with it things like set_data
) have moved to become pars
as that is how we’re using it, and to make space for a future data
element (#130)rexp
from dust model, just using inversion for now (#127)set_n_threads()
for changing the number of OpenMP threads after initialisation (#122)dust::dust_simulate()
can return the entire model end state (#119)$set_data()
method, similar to reset
but changing only the data/parameters mid-model run, holding state and everything else identical (#114)dust_rng
) also get a $set_state()
method (primarily of debugging interest)$set_rng_state()
method, the inverse to $rng_state()
for taking a previously saved state and setting it into a model (#??)dust::dust_iterate
now copies names from the index as rownames (#101)n * p
” branch of the binomial distribution now uses a slightly faster algorithm (#91)dust::dust_openmp_support()
, dust::dust_openmp_threads()
and a method $has_openmp()
on dust
objects to make determining OpenMP support easier (#97)dust::dust_package()
validates that the package contains a suitable src/Makevars
for use with openmp, or creates one if missing (#95)dust::dust_example()
, reducing the need for a compiler for exploration and making examples and testing faster (#89)seed
, which now seeds from R’s random number if given the default value of NULL
(#85, #87)rng_state
method can optionally advance the random number stream, making it more suitable for use with dust::dust_simulate
dust::dust_rng_long_jump
which can advance the saved state of a dust RNG, suitable for creating independent streams from one saved state.dust::dust_simulate
is renamed to dust::dust_iterate
dust::dust_simulate
which simulates many parameter sets and starting points at once, possibly in parallel (#84)$set_index()
uses a named index vector, then those names are copied back as rownames on the returned matrix. Similarly, if $state()
is used with a named index then those names are used as rownames (#81)dust::dust_simulate
which provides a helper for running a simulation while collecting output (#7)$set_state()
to accept an initial state of NULL
, in which case only the time is set (#48)$set_state()
to accept an initial step too. This can be a vector if particles start at different initial steps, in which case all particles are run up to the latest step (#45)$set_state()
to accept a matrix in order to start particles with different starting values (#43)