@@ -227,6 +227,9 @@ function generate_jacobian(
227
227
jac = calculate_jacobian (sys, sparse = sparse, simplify = simplify)
228
228
pre, sol_states = get_substitutions_and_solved_unknowns (sys)
229
229
p = reorder_parameters (sys, ps)
230
+ if ! get (kwargs, :checkbounds , false )
231
+ wrap_code = wrap_code .∘ wrap_inbounds (false )
232
+ end
230
233
wrap_code = wrap_code .∘ wrap_array_vars (sys, jac; dvs = vs, ps) .∘
231
234
wrap_parameter_dependencies (sys, false )
232
235
return build_function (
@@ -251,6 +254,9 @@ function generate_hessian(
251
254
hess = calculate_hessian (sys, sparse = sparse, simplify = simplify)
252
255
pre = get_preprocess_constants (hess)
253
256
p = reorder_parameters (sys, ps)
257
+ if ! get (kwargs, :checkbounds , false )
258
+ wrap_code = wrap_code .∘ wrap_inbounds (false )
259
+ end
254
260
wrap_code = wrap_code .∘ wrap_array_vars (sys, hess; dvs = vs, ps) .∘
255
261
wrap_parameter_dependencies (sys, false )
256
262
return build_function (hess, vs, p... ; postprocess_fbody = pre, wrap_code, kwargs... )
@@ -266,6 +272,9 @@ function generate_function(
266
272
dvs′ = only (dvs)
267
273
end
268
274
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
269
278
wrap_code = wrap_code .∘ wrap_array_vars (sys, rhss; dvs, ps) .∘
270
279
wrap_parameter_dependencies (sys, scalar)
271
280
p = reorder_parameters (sys, value .(ps))
@@ -342,7 +351,7 @@ function SciMLBase.NonlinearFunction{iip}(sys::NonlinearSystem, dvs = unknowns(s
342
351
_jac = nothing
343
352
end
344
353
345
- observedfun = ObservedFunctionCache (sys; eval_expression, eval_module)
354
+ observedfun = ObservedFunctionCache (sys; eval_expression, eval_module, checkbounds = get (kwargs, :checkbounds , false ) )
346
355
347
356
if length (dvs) == length (equations (sys))
348
357
resid_prototype = nothing
@@ -383,7 +392,7 @@ function SciMLBase.IntervalNonlinearFunction(
383
392
f (u, p) = f_oop (u, p)
384
393
f (u, p:: MTKParameters ) = f_oop (u, p... )
385
394
386
- observedfun = ObservedFunctionCache (sys; eval_expression, eval_module)
395
+ observedfun = ObservedFunctionCache (sys; eval_expression, eval_module, checkbounds = get (kwargs, :checkbounds , false ) )
387
396
388
397
IntervalNonlinearFunction {false} (f; observed = observedfun, sys = sys)
389
398
end
@@ -579,6 +588,9 @@ function SCCNonlinearFunction{iip}(
579
588
cmap, cs = get_cmap (sys)
580
589
cmap_assignments = [eq. lhs ← eq. rhs for eq in cmap]
581
590
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
582
594
wrap_code = wrap_assignments (false , cmap_assignments) .∘
583
595
(wrap_array_vars (sys, rhss; dvs = _dvs, cachesyms)) .∘
584
596
wrap_parameter_dependencies (sys, false ) .∘
0 commit comments