@@ -216,39 +216,49 @@ for (t1, t2) in [
216216 end
217217 else
218218 obs = observed (sys, sym isa Tuple ? collect (sym) : sym)
219- return let obs = obs, is_tuple = sym isa Tuple
220- function _getter2 (:: NotTimeseries , prob)
221- obs (state_values (prob), parameter_values (prob), current_time (prob))
219+ _getter2 = if is_time_dependent (sys)
220+ let obs = obs, is_tuple = sym isa Tuple
221+ function _getter2a (:: NotTimeseries , prob)
222+ obs (state_values (prob), parameter_values (prob), current_time (prob))
223+ end
224+ function _getter2a (:: Timeseries , prob)
225+ obs .(state_values (prob), (parameter_values (prob),),
226+ current_time (prob))
227+ end
228+ function _getter2a (:: Timeseries , prob, i)
229+ obs (state_values (prob, i),
230+ parameter_values (prob),
231+ current_time (prob, i))
232+ end
233+ _getter2a
222234 end
223- function _getter2 (:: Timeseries , prob)
224- obs .(state_values (prob), (parameter_values (prob),), current_time (prob))
235+ else
236+ let obs = obs, is_tuple = sym isa Tuple
237+ function _getter2b (:: NotTimeseries , prob)
238+ obs (state_values (prob), parameter_values (prob))
239+ end
240+ _getter2b
225241 end
226- function _getter2 (:: Timeseries , prob, i)
227- obs (state_values (prob, i),
228- parameter_values (prob),
229- current_time (prob, i))
242+ end
243+ return if sym isa Tuple
244+ let _getter2 = _getter2
245+ function getter2 (prob)
246+ Tuple (_getter2 (is_timeseries (prob), prob))
247+ end
248+ function getter2 (prob, i)
249+ Tuple (_getter2 (is_timeseries (prob), prob, i))
250+ end
251+ getter2
230252 end
231-
232- if is_tuple
233- let _getter2 = _getter2
234- function getter2 (prob)
235- Tuple (_getter2 (is_timeseries (prob), prob))
236- end
237- function getter2 (prob, i)
238- Tuple (_getter2 (is_timeseries (prob), prob, i))
239- end
240- getter2
253+ else
254+ let _getter2 = _getter2
255+ function getter3 (prob)
256+ _getter2 (is_timeseries (prob), prob)
241257 end
242- else
243- let _getter2 = _getter2
244- function getter3 (prob)
245- _getter2 (is_timeseries (prob), prob)
246- end
247- function getter3 (prob, i)
248- _getter2 (is_timeseries (prob), prob, i)
249- end
250- getter3
258+ function getter3 (prob, i)
259+ _getter2 (is_timeseries (prob), prob, i)
251260 end
261+ getter3
252262 end
253263 end
254264 end
0 commit comments