785785SymbolicIndexingInterface. supports_tuple_observed (:: AbstractSystem ) = true
786786
787787function SymbolicIndexingInterface. observed (
788- sys:: AbstractSystem , sym; eval_expression = false , eval_module = @__MODULE__ )
788+ sys:: AbstractSystem , sym; eval_expression = false , eval_module = @__MODULE__ , checkbounds = true )
789789 if has_index_cache (sys) && (ic = get_index_cache (sys)) != = nothing
790790 if sym isa Symbol
791791 _sym = get (ic. symbol_to_variable, sym, nothing )
@@ -808,7 +808,8 @@ function SymbolicIndexingInterface.observed(
808808 end
809809 end
810810 end
811- _fn = build_explicit_observed_function (sys, sym; eval_expression, eval_module)
811+ _fn = build_explicit_observed_function (
812+ sys, sym; eval_expression, eval_module, checkbounds)
812813
813814 if is_time_dependent (sys)
814815 return _fn
@@ -1671,11 +1672,14 @@ struct ObservedFunctionCache{S}
16711672 steady_state:: Bool
16721673 eval_expression:: Bool
16731674 eval_module:: Module
1675+ checkbounds:: Bool
16741676end
16751677
16761678function ObservedFunctionCache (
1677- sys; steady_state = false , eval_expression = false , eval_module = @__MODULE__ )
1678- return ObservedFunctionCache (sys, Dict (), steady_state, eval_expression, eval_module)
1679+ sys; steady_state = false , eval_expression = false ,
1680+ eval_module = @__MODULE__ , checkbounds = true )
1681+ return ObservedFunctionCache (
1682+ sys, Dict (), steady_state, eval_expression, eval_module, checkbounds)
16791683end
16801684
16811685# This is hit because ensemble problems do a deepcopy
@@ -1685,7 +1689,9 @@ function Base.deepcopy_internal(ofc::ObservedFunctionCache, stackdict::IdDict)
16851689 steady_state = ofc. steady_state
16861690 eval_expression = ofc. eval_expression
16871691 eval_module = ofc. eval_module
1688- newofc = ObservedFunctionCache (sys, dict, steady_state, eval_expression, eval_module)
1692+ checkbounds = ofc. checkbounds
1693+ newofc = ObservedFunctionCache (
1694+ sys, dict, steady_state, eval_expression, eval_module, checkbounds)
16891695 stackdict[ofc] = newofc
16901696 return newofc
16911697end
@@ -1694,7 +1700,7 @@ function (ofc::ObservedFunctionCache)(obsvar, args...)
16941700 obs = get! (ofc. dict, value (obsvar)) do
16951701 SymbolicIndexingInterface. observed (
16961702 ofc. sys, obsvar; eval_expression = ofc. eval_expression,
1697- eval_module = ofc. eval_module)
1703+ eval_module = ofc. eval_module, checkbounds = ofc . checkbounds )
16981704 end
16991705 if ofc. steady_state
17001706 obs = let fn = obs
0 commit comments