@@ -110,6 +110,8 @@ dust_likelihood_monty <- function(obj, packer, initial = NULL, domain = NULL,
110
110
111
111
domain <- monty :: monty_domain_expand(domain , packer )
112
112
save_trajectories <- validate_save_trajectories(save_trajectories )
113
+ save_trajectories $ uninitialised <-
114
+ save_trajectories $ enabled && ! is.null(save_trajectories $ subset )
113
115
observer <- dust_observer(obj , save_state , save_trajectories $ enabled ,
114
116
save_snapshots )
115
117
@@ -150,12 +152,11 @@ dust_likelihood_monty <- function(obj, packer, initial = NULL, domain = NULL,
150
152
# # object.
151
153
density <- function (x ) {
152
154
pars <- packer_unpack(packer , x )
153
- was_uninitialised <- dust_likelihood_ensure_initialised(obj , pars )
154
- needs_trajectories_index <- was_uninitialised &&
155
- save_trajectories $ enabled && ! is.null(save_trajectories $ subset )
156
- if (needs_trajectories_index ) {
155
+ dust_likelihood_ensure_initialised(obj , pars )
156
+ if (save_trajectories $ uninitialised ) {
157
157
env $ save_trajectories $ index <-
158
158
obj $ packer_state $ subset(save_trajectories $ subset )$ index
159
+ env $ save_trajectories $ uninitialised <- FALSE
159
160
}
160
161
ptr <- obj $ ptr
161
162
if (! identical(x , attr(ptr , " last_pars" ))) {
@@ -186,12 +187,11 @@ dust_likelihood_monty <- function(obj, packer, initial = NULL, domain = NULL,
186
187
} else {
187
188
density <- function (x ) {
188
189
pars <- packer_unpack(packer , x )
189
- was_uninitialised <- dust_likelihood_ensure_initialised(obj , pars )
190
- needs_trajectories_index <- was_uninitialised &&
191
- save_trajectories $ enabled && ! is.null(save_trajectories $ subset )
192
- if (needs_trajectories_index ) {
190
+ dust_likelihood_ensure_initialised(obj , pars )
191
+ if (save_trajectories $ uninitialised ) {
193
192
env $ save_trajectories $ index <-
194
193
obj $ packer_state $ subset(save_trajectories $ subset )$ index
194
+ env $ save_trajectories $ uninitialised <- FALSE
195
195
}
196
196
ll <- dust_likelihood_run(
197
197
obj ,
0 commit comments