@@ -472,22 +472,8 @@ function handle_rational_polynomials(x, wrt; fraction_cancel_fn = simplify_fract
472472 return num, den
473473end
474474
475- function SciMLBase. HomotopyNonlinearFunction (sys:: System , args... ; kwargs... )
476- ODEFunction {true} (sys, args... ; kwargs... )
477- end
478-
479- function SciMLBase. HomotopyNonlinearFunction {true} (sys:: System , args... ;
480- kwargs... )
481- ODEFunction {true, SciMLBase.AutoSpecialize} (sys, args... ; kwargs... )
482- end
483-
484- function SciMLBase. HomotopyNonlinearFunction {false} (sys:: System , args... ;
485- kwargs... )
486- ODEFunction {false, SciMLBase.FullSpecialize} (sys, args... ; kwargs... )
487- end
488-
489- function SciMLBase. HomotopyNonlinearFunction {iip, specialize} (
490- sys:: System , args... ; eval_expression = false , eval_module = @__MODULE__ ,
475+ @fallback_iip_specialize function SciMLBase. HomotopyNonlinearFunction {iip, specialize} (
476+ sys:: System ; eval_expression = false , eval_module = @__MODULE__ ,
491477 p = nothing , fraction_cancel_fn = SymbolicUtils. simplify_fractions, cse = true ,
492478 kwargs... ) where {iip, specialize}
493479 if ! iscomplete (sys)
@@ -510,7 +496,7 @@ function SciMLBase.HomotopyNonlinearFunction{iip, specialize}(
510496
511497 # we want to create f, jac etc. according to `sys2` since that will do the solving
512498 # but the `sys` inside for symbolic indexing should be the non-polynomial system
513- fn = NonlinearFunction {iip} (sys2; eval_expression, eval_module, cse, kwargs... )
499+ fn = NonlinearFunction {iip} (sys2; p, eval_expression, eval_module, cse, kwargs... )
514500 obsfn = ObservedFunctionCache (
515501 sys; eval_expression, eval_module, checkbounds = get (kwargs, :checkbounds , false ), cse)
516502 fn = remake (fn; sys = sys, observed = obsfn)
0 commit comments