Skip to content

Commit ec1b9f4

Browse files
jClugstorgdalle
andcommitted
Use ConstantOrCache for parameters in JVPCache
Co-authored-by: Guillaume Dalle <[email protected]>
1 parent 7a496ce commit ec1b9f4

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

lib/OrdinaryDiffEqDifferentiation/src/operators.jl

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,8 @@ function prepare_jvp(f::DiffEqBase.AbstractDiffEqFunction, du, u, p, t, autodiff
6666
SciMLBase.has_jvp(f) && return f.jvp
6767
autodiff = autodiff isa AutoSparse ? ADTypes.dense_ad(autodiff) : autodiff
6868
@assert DI.check_inplace(autodiff) "AD backend $(autodiff) doesn't support in-place problems."
69-
di_prep = DI.prepare_pushforward(
70-
(du, u) -> f(du,u,p,t), du, autodiff, u, (u,))
71-
return (Jv, v, u, p, t) -> DI.pushforward!((du,x) -> f(du,x,p,t), du, (reshape(Jv, size(du)),), di_prep,
72-
autodiff, u, (reshape(v,size(u)),))
69+
di_prep = DI.prepare_pushforward(f, du, autodiff, u, (u,), DI.ConstantOrCache(p), DI.Constant(t))
70+
return (Jv, v, u, p, t) -> DI.pushforward!(f, du, (reshape(Jv, size(du)),), di_prep, autodiff, u, (reshape(v,size(u)), DI.ConstantOrCache(p), DI.Constant(t)))
7371
end
7472

7573
function SciMLOperators.update_coefficients!(J::JVPCache, u, p, t)

0 commit comments

Comments
 (0)