@@ -227,6 +227,9 @@ function generate_jacobian(
227227    jac =  calculate_jacobian (sys, sparse =  sparse, simplify =  simplify)
228228    pre, sol_states =  get_substitutions_and_solved_unknowns (sys)
229229    p =  reorder_parameters (sys, ps)
230+     if  ! get (kwargs, :checkbounds , false )
231+         wrap_code =  wrap_code .∘  wrap_inbounds (false )
232+     end 
230233    wrap_code =  wrap_code .∘  wrap_array_vars (sys, jac; dvs =  vs, ps) .∘ 
231234                wrap_parameter_dependencies (sys, false )
232235    return  build_function (
@@ -251,6 +254,9 @@ function generate_hessian(
251254    hess =  calculate_hessian (sys, sparse =  sparse, simplify =  simplify)
252255    pre =  get_preprocess_constants (hess)
253256    p =  reorder_parameters (sys, ps)
257+     if  ! get (kwargs, :checkbounds , false )
258+         wrap_code =  wrap_code .∘  wrap_inbounds (false )
259+     end 
254260    wrap_code =  wrap_code .∘  wrap_array_vars (sys, hess; dvs =  vs, ps) .∘ 
255261                wrap_parameter_dependencies (sys, false )
256262    return  build_function (hess, vs, p... ; postprocess_fbody =  pre, wrap_code, kwargs... )
@@ -266,6 +272,9 @@ function generate_function(
266272        dvs′ =  only (dvs)
267273    end 
268274    pre, sol_states =  get_substitutions_and_solved_unknowns (sys)
275+     if  ! get (kwargs, :checkbounds , false )
276+         wrap_code =  wrap_code .∘  wrap_inbounds (false )
277+     end 
269278    wrap_code =  wrap_code .∘  wrap_array_vars (sys, rhss; dvs, ps) .∘ 
270279                wrap_parameter_dependencies (sys, scalar)
271280    p =  reorder_parameters (sys, value .(ps))
@@ -342,7 +351,7 @@ function SciMLBase.NonlinearFunction{iip}(sys::NonlinearSystem, dvs = unknowns(s
342351        _jac =  nothing 
343352    end 
344353
345-     observedfun =  ObservedFunctionCache (sys; eval_expression, eval_module)
354+     observedfun =  ObservedFunctionCache (sys; eval_expression, eval_module, checkbounds  =   get (kwargs,  :checkbounds ,  false ) )
346355
347356    if  length (dvs) ==  length (equations (sys))
348357        resid_prototype =  nothing 
@@ -383,7 +392,7 @@ function SciMLBase.IntervalNonlinearFunction(
383392    f (u, p) =  f_oop (u, p)
384393    f (u, p:: MTKParameters ) =  f_oop (u, p... )
385394
386-     observedfun =  ObservedFunctionCache (sys; eval_expression, eval_module)
395+     observedfun =  ObservedFunctionCache (sys; eval_expression, eval_module, checkbounds  =   get (kwargs,  :checkbounds ,  false ) )
387396
388397    IntervalNonlinearFunction {false} (f; observed =  observedfun, sys =  sys)
389398end 
@@ -579,6 +588,9 @@ function SCCNonlinearFunction{iip}(
579588    cmap, cs =  get_cmap (sys)
580589    cmap_assignments =  [eq. lhs ←  eq. rhs for  eq in  cmap]
581590    rhss =  [eq. rhs -  eq. lhs for  eq in  _eqs]
591+     if  ! get (kwargs, :checkbounds , false )
592+         wrap_code =  wrap_code .∘  wrap_inbounds (false )
593+     end 
582594    wrap_code =  wrap_assignments (false , cmap_assignments) .∘ 
583595                (wrap_array_vars (sys, rhss; dvs =  _dvs, cachesyms)) .∘ 
584596                wrap_parameter_dependencies (sys, false ) .∘ 
0 commit comments