@@ -130,12 +130,12 @@ end
130130 integrator. EEst = max (EEst, integrator. EEst)
131131 end
132132 else
133- # No H matrix: compute Hermite interpolation coefficients
134- # k[1] = dt*f₀ - (u - uprev) , k[2] = 2*(u - uprev) - dt*(f₀ + f₁)
133+ # No H matrix: store raw derivatives f₀, f₁ for standard Hermite interpolation.
134+ # _ode_interpolant(interp_order=-1) expects k[1]=f₀ , k[2]=f₁.
135135 f1 = f (u, p, t + dt)
136136 OrdinaryDiffEqCore. increment_nf! (integrator. stats, 1 )
137- integrator. k[1 ] = @. . dt * fsalfirst_cache - (u - uprev )
138- integrator. k[2 ] = @. . 2 * (u - uprev) - dt * (fsalfirst_cache + f1 )
137+ integrator. k[1 ] = fsalfirst_cache # f₀ = f(uprev, p, t )
138+ integrator. k[2 ] = f1 # f₁ = f(u, p, t+dt )
139139 end
140140 end
141141
@@ -294,12 +294,12 @@ end
294294 integrator. EEst = max (EEst, integrator. EEst)
295295 end
296296 else
297- # No H matrix: compute Hermite interpolation coefficients
298- # k[1] = dt*f₀ - (u - uprev) , k[2] = 2*(u - uprev) - dt*(f₀ + f₁)
297+ # No H matrix: store raw derivatives f₀, f₁ for standard Hermite interpolation.
298+ # _ode_interpolant(interp_order=-1) expects k[1]=f₀ , k[2]=f₁.
299299 f (du, u, p, t + dt)
300300 OrdinaryDiffEqCore. increment_nf! (integrator. stats, 1 )
301- @. . integrator. k[1 ] = dt * cache. fsalfirst - (u - uprev)
302- @. . integrator. k[2 ] = 2 * (u - uprev) - dt * (cache . fsalfirst + du )
301+ @. . integrator. k[1 ] = cache. fsalfirst # f₀ = f( uprev, p, t )
302+ @. . integrator. k[2 ] = du # f₁ = f(u, p, t+dt )
303303 end
304304 end
305305 cache. linsolve = linres. cache
0 commit comments