@@ -204,10 +204,13 @@ $SEMILINEAR_A_B_C_CONSTRAINT
204204$(MTKBase. EXPERIMENTAL_WARNING)
205205"""
206206function generate_semiquadratic_functions (
207- sys:: System , A, B, C; stiff_linear = true ,
208- stiff_quadratic = false , stiff_nonlinear = false , expression = Val{ true }, wrap_gfw = Val{ false } ,
209- eval_expression = false , eval_module = @__MODULE__ , kwargs ...
207+ sys:: System , A, B, C, opts :: GeneratedFunctionOptions ;
208+ stiff_linear :: Bool = true , stiff_quadratic :: Bool = false ,
209+ stiff_nonlinear :: Bool = false
210210 )
211+ (; eval_expression, eval_module) = opts
212+ expression = expression_val (opts)
213+ wrap_gfw = wrap_gfw_val (opts)
211214 if A === nothing && B === nothing
212215 throw (ArgumentError (" Cannot generate split form for the system - it has no linear or quadratic part." ))
213216 end
@@ -337,36 +340,28 @@ function generate_semiquadratic_functions(
337340 sys, nothing , [Any[Symbolics. DEFAULT_OUTSYM, dvs]; ps; Any[iv]],
338341 BuildFunctionWrapperOptions (;
339342 u_arg = 2 , p_start = 3 , extra_assignments = f1_iip_ir,
340- codegen_function_options = Symbolics. CodegenFunctionOptions (;
341- expression = Val{true }, iip_config = (true , false ), kwargs...
342- )
343+ codegen_function_options = ConstructionBase. setproperties (opts. codegen, (; iip_config = (true , false )))
343344 )
344345 )[1 ]
345346 f2_iip = build_function_wrapper (
346347 sys, nothing , [Any[Symbolics. DEFAULT_OUTSYM, dvs]; ps; Any[iv]],
347348 BuildFunctionWrapperOptions (;
348349 u_arg = 2 , p_start = 3 , extra_assignments = f2_iip_ir,
349- codegen_function_options = Symbolics. CodegenFunctionOptions (;
350- expression = Val{true }, iip_config = (true , false ), kwargs...
351- )
350+ codegen_function_options = ConstructionBase. setproperties (opts. codegen, (; iip_config = (true , false )))
352351 )
353352 )[1 ]
354353 f1_oop = build_function_wrapper (
355354 sys, f1_expr, [Any[dvs]; ps; Any[iv]],
356355 BuildFunctionWrapperOptions (;
357356 u_arg = 1 ,
358- codegen_function_options = Symbolics. CodegenFunctionOptions (;
359- expression = Val{true }, iip_config = (true , false ), kwargs...
360- )
357+ codegen_function_options = ConstructionBase. setproperties (opts. codegen, (; iip_config = (true , false )))
361358 )
362359 )[1 ]
363360 f2_oop = build_function_wrapper (
364361 sys, f2_expr, [Any[dvs]; ps; Any[iv]],
365362 BuildFunctionWrapperOptions (;
366363 u_arg = 1 ,
367- codegen_function_options = Symbolics. CodegenFunctionOptions (;
368- expression = Val{true }, iip_config = (true , false ), kwargs...
369- )
364+ codegen_function_options = ConstructionBase. setproperties (opts. codegen, (; iip_config = (true , false )))
370365 )
371366 )[1 ]
372367
@@ -402,10 +397,13 @@ $SEMILINEAR_A_B_C_CONSTRAINT
402397$EXPERIMENTAL_WARNING
403398"""
404399function generate_semiquadratic_jacobian (
405- sys:: System , A, B, C, Cjac; sparse = false , stiff_linear = true , stiff_quadratic = false ,
406- stiff_nonlinear = false , expression = Val{ true }, wrap_gfw = Val{ false } ,
407- eval_expression = false , eval_module = @__MODULE__ , kwargs ...
400+ sys:: System , A, B, C, Cjac, opts :: GeneratedFunctionOptions ;
401+ sparse :: Bool = false , stiff_linear :: Bool = true , stiff_quadratic :: Bool = false ,
402+ stiff_nonlinear :: Bool = false
408403 )
404+ (; eval_expression, eval_module) = opts
405+ expression = expression_val (opts)
406+ wrap_gfw = wrap_gfw_val (opts)
409407 if sparse
410408 error (" Sparse analytical jacobians for split ODEs is not implemented." )
411409 end
@@ -536,18 +534,14 @@ function generate_semiquadratic_jacobian(
536534 sys, nothing , [Any[Symbolics. DEFAULT_OUTSYM, dvs]; ps; Any[iv]],
537535 BuildFunctionWrapperOptions (;
538536 u_arg = 2 , p_start = 3 , extra_assignments = iip_ir,
539- codegen_function_options = Symbolics. CodegenFunctionOptions (;
540- expression = Val{true }, iip_config = (true , false ), kwargs...
541- )
537+ codegen_function_options = ConstructionBase. setproperties (opts. codegen, (; iip_config = (true , false )))
542538 )
543539 )
544540 j_oop, _ = build_function_wrapper (
545541 sys, oop_expr, [Any[dvs]; ps; Any[iv]],
546542 BuildFunctionWrapperOptions (;
547543 u_arg = 1 ,
548- codegen_function_options = Symbolics. CodegenFunctionOptions (;
549- expression = Val{true }, iip_config = (true , false ), kwargs...
550- )
544+ codegen_function_options = ConstructionBase. setproperties (opts. codegen, (; iip_config = (true , false )))
551545 )
552546 )
553547 return maybe_compile_function (
0 commit comments