|
28 | 28 |
|
29 | 29 | function value_and_jacobian( |
30 | 30 | ad, prob::AbstractNonlinearProblem, f::F, y, x, cache; J = nothing) where {F} |
31 | | - x isa Number && return DI.value_and_derivative(f, ad, x, cache) |
| 31 | + x isa Number && return DI.value_and_derivative(f, cache, ad, x) |
32 | 32 |
|
33 | 33 | if isinplace(prob) |
34 | 34 | if cache isa HasAnalyticJacobian |
35 | 35 | prob.f.jac(J, x, prob.p) |
36 | 36 | f(y, x) |
37 | 37 | return y, J |
38 | 38 | end |
39 | | - return DI.value_and_jacobian!(f, y, J, ad, x, cache) |
| 39 | + return DI.value_and_jacobian!(f, y, J, cache, ad, x) |
40 | 40 | else |
41 | 41 | cache isa HasAnalyticJacobian && return f(x), prob.f.jac(x, prob.p) |
42 | | - J === nothing && return DI.value_and_jacobian(f, ad, x, cache) |
43 | | - y, J = DI.value_and_jacobian!(f, J, ad, x, cache) |
| 42 | + J === nothing && return DI.value_and_jacobian(f, cache, ad, x) |
| 43 | + y, J = DI.value_and_jacobian!(f, J, cache, ad, x) |
44 | 44 | return y, J |
45 | 45 | end |
46 | 46 | end |
|
0 commit comments