Skip to content

Commit 61b420c

Browse files
committed
Fix CI
1 parent e2f4f5f commit 61b420c

File tree

1 file changed

+30
-30
lines changed

1 file changed

+30
-30
lines changed

test/clock.jl

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -117,37 +117,37 @@ if VERSION >= v"1.7"
117117
prob = ODEProblem(ss, [x => 0.0, y => 0.0], (0.0, 1.0),
118118
[kp => 1.0; z => 0.0; z(k + 1) => 0.0])
119119
sol = solve(prob, Tsit5(), kwargshandle = KeywordArgSilent)
120+
# For all inputs in parameters, just initialize them to 0.0, and then set them
121+
# in the callback.
122+
123+
# kp is the only real parameter
124+
function foo!(du, u, p, t)
125+
x = u[1]
126+
ud = p[2]
127+
du[1] = -x + ud
128+
end
129+
function affect!(integrator, saved_values)
130+
kp = integrator.p[1]
131+
yd = integrator.u[1]
132+
z_t = integrator.p[3]
133+
z = integrator.p[4]
134+
r = 1.0
135+
ud = kp * (r - yd) + z
136+
push!(saved_values.t, integrator.t)
137+
push!(saved_values.saveval, [integrator.p[4], integrator.p[3]])
138+
integrator.p[2] = ud
139+
integrator.p[3] = z + yd
140+
integrator.p[4] = z_t
141+
nothing
142+
end
143+
saved_values = SavedValues(Float64, Vector{Float64})
144+
cb = PeriodicCallback(Base.Fix2(affect!, saved_values), 0.1)
145+
prob = ODEProblem(foo!, [0.0], (0.0, 1.0), [1.0, 0.0, 0.0, 0.0], callback = cb)
146+
sol2 = solve(prob, Tsit5())
147+
@test sol.u == sol2.u
148+
@test saved_values.t == sol.prob.kwargs[:disc_saved_values][1].t
149+
@test saved_values.saveval == sol.prob.kwargs[:disc_saved_values][1].saveval
120150
end
121-
# For all inputs in parameters, just initialize them to 0.0, and then set them
122-
# in the callback.
123-
124-
# kp is the only real parameter
125-
function foo!(du, u, p, t)
126-
x = u[1]
127-
ud = p[2]
128-
du[1] = -x + ud
129-
end
130-
function affect!(integrator, saved_values)
131-
kp = integrator.p[1]
132-
yd = integrator.u[1]
133-
z_t = integrator.p[3]
134-
z = integrator.p[4]
135-
r = 1.0
136-
ud = kp * (r - yd) + z
137-
push!(saved_values.t, integrator.t)
138-
push!(saved_values.saveval, [integrator.p[4], integrator.p[3]])
139-
integrator.p[2] = ud
140-
integrator.p[3] = z + yd
141-
integrator.p[4] = z_t
142-
nothing
143-
end
144-
saved_values = SavedValues(Float64, Vector{Float64});
145-
cb = PeriodicCallback(Base.Fix2(affect!, saved_values), 0.1)
146-
prob = ODEProblem(foo!, [0.0], (0.0, 1.0), [1.0, 0.0, 0.0, 0.0], callback = cb)
147-
sol2 = solve(prob, Tsit5())
148-
@test sol.u == sol2.u
149-
@test saved_values.t == sol.prob.kwargs[:disc_saved_values][1].t
150-
@test saved_values.saveval == sol.prob.kwargs[:disc_saved_values][1].saveval
151151

152152
@info "Testing multi-rate hybrid system"
153153
dt = 0.1

0 commit comments

Comments
 (0)