@@ -19,23 +19,23 @@ prob = ODEProblem(f, u0, tspan)
1919condition (u, t, integrator) = u[1 ] - 1
2020cb = ContinuousCallback (condition, default_affect!; maybe_discontinuity = true )
2121
22- sol_disco_radau = solve (prob, RadauIIA5 (); callback = cb, reltol = 1e -6 , controller = predictive_disco_controller (RadauIIA5 ()))
22+ sol_disco_radau = solve (prob, RadauIIA5 (); callback = cb, reltol = 1.0e -6 , controller = predictive_disco_controller (RadauIIA5 ()))
2323# 314.500 μs (8909 allocations: 278.73 KiB)
24- sol_no_disco_radau = solve (prob, RadauIIA5 (); callback = cb, reltol = 1e -6 )
24+ sol_no_disco_radau = solve (prob, RadauIIA5 (); callback = cb, reltol = 1.0e -6 )
2525# 376.125 μs (10628 allocations: 331.61 KiB)
2626@test sol_disco_radau. retcode == ReturnCode. Success
2727@test sol_disco_radau. stats. nreject <= sol_no_disco_radau. stats. nreject
2828
29- sol_disco_rosenbrock = solve (prob, Rodas5P (); callback = cb, reltol = 1e -6 , controller = PI_disco_controller (Rodas5P ()))
29+ sol_disco_rosenbrock = solve (prob, Rodas5P (); callback = cb, reltol = 1.0e -6 , controller = PI_disco_controller (Rodas5P ()))
3030# 444.500 μs (15596 allocations: 547.62 KiB)
31- sol_no_disco_rosenbrock = solve (prob, Rodas5P (); callback = cb, reltol = 1e -6 )
31+ sol_no_disco_rosenbrock = solve (prob, Rodas5P (); callback = cb, reltol = 1.0e -6 )
3232# 620.709 μs (21830 allocations: 765.77 KiB)
3333@test sol_disco_rosenbrock. retcode == ReturnCode. Success
3434@test sol_disco_rosenbrock. stats. nreject <= sol_no_disco_rosenbrock. stats. nreject
3535
36- sol_disco_tsit5 = solve (prob, Tsit5 (); callback = cb, reltol = 1e -6 , controller = PI_disco_controller (Tsit5 ()))
36+ sol_disco_tsit5 = solve (prob, Tsit5 (); callback = cb, reltol = 1.0e -6 , controller = PI_disco_controller (Tsit5 ()))
3737# 55.625 μs (7576 allocations: 240.67 KiB)
38- sol_no_disco_tsit5 = solve (prob, Tsit5 (); callback = cb, reltol = 1e -6 )
38+ sol_no_disco_tsit5 = solve (prob, Tsit5 (); callback = cb, reltol = 1.0e -6 )
3939# 55.083 μs (7570 allocations: 240.58 KiB)
4040@test sol_disco_tsit5. retcode == ReturnCode. Success
4141@test sol_disco_tsit5. stats. nreject <= sol_no_disco_tsit5. stats. nreject
@@ -64,16 +64,16 @@ condition2(u, t, integrator) = u[1] - 2
6464cb2 = ContinuousCallback (condition2, default_affect!; maybe_discontinuity = true )
6565cb = CallbackSet (cb1, cb2)
6666
67- sol_disco_rosenbrock = solve (prob, Rodas5P (); callback = cb, reltol = 1e -6 , controller = PI_disco_controller (Rodas5P ()))
67+ sol_disco_rosenbrock = solve (prob, Rodas5P (); callback = cb, reltol = 1.0e -6 , controller = PI_disco_controller (Rodas5P ()))
6868# 1.224 ms (42698 allocations: 1.46 MiB)
69- sol_no_disco_rosenbrock = solve (prob, Rodas5P (); callback = cb, reltol = 1e -6 )
69+ sol_no_disco_rosenbrock = solve (prob, Rodas5P (); callback = cb, reltol = 1.0e -6 )
7070# 1.551 ms (52905 allocations: 1.80 MiB)
7171@test sol_disco_rosenbrock. retcode == ReturnCode. Success
7272@test sol_disco_rosenbrock. stats. nreject <= sol_no_disco_rosenbrock. stats. nreject
7373
74- sol_disco_tsit5 = solve (prob, Tsit5 (); callback = cb, reltol = 1e -6 , controller = PI_disco_controller (Tsit5 ()))
74+ sol_disco_tsit5 = solve (prob, Tsit5 (); callback = cb, reltol = 1.0e -6 , controller = PI_disco_controller (Tsit5 ()))
7575# 267.167 μs (34737 allocations: 1.07 MiB)
76- sol_no_disco_tsit5 = solve (prob, Tsit5 (); callback = cb, reltol = 1e -6 )
76+ sol_no_disco_tsit5 = solve (prob, Tsit5 (); callback = cb, reltol = 1.0e -6 )
7777# 279.416 μs (39645 allocations: 1.22 MiB)
7878@test sol_disco_tsit5. retcode == ReturnCode. Success
7979@test sol_disco_tsit5. stats. nreject <= sol_no_disco_tsit5. stats. nreject
@@ -103,31 +103,31 @@ cb_multi_2 = ContinuousCallback(cond_multi_2, default_affect!; maybe_discontinui
103103
104104cb_multi = CallbackSet (cb_multi_1, cb_multi_2)
105105
106- sol_disco_radau = solve (prob_multi, RadauIIA5 (); callback= cb_multi, reltol= 1e -7 , abstol= 1e -9 , controller = PI_disco_controller (RadauIIA5 ()))
106+ sol_disco_radau = solve (prob_multi, RadauIIA5 (); callback = cb_multi, reltol = 1.0e -7 , abstol = 1.0e -9 , controller = PI_disco_controller (RadauIIA5 ()))
107107# 148.875 μs (1564 allocations: 64.56 KiB)
108- sol_no_disco_radau = solve (prob_multi, RadauIIA5 (); callback= cb_multi, reltol= 1e -7 , abstol= 1e -9 )
108+ sol_no_disco_radau = solve (prob_multi, RadauIIA5 (); callback = cb_multi, reltol = 1.0e -7 , abstol = 1.0e -9 )
109109# 129.875 μs (1073 allocations: 48.44 KiB)
110110@test sol_disco_radau. retcode == ReturnCode. Success
111111@test sol_disco_radau. stats. nreject <= sol_no_disco_radau. stats. nreject
112112
113- sol_disco_rosenbrock = solve (prob_multi, Rodas5P (); callback= cb_multi, reltol= 1e -7 , abstol= 1e -9 , controller = PI_disco_controller (Rodas5P ()))
113+ sol_disco_rosenbrock = solve (prob_multi, Rodas5P (); callback = cb_multi, reltol = 1.0e -7 , abstol = 1.0e -9 , controller = PI_disco_controller (Rodas5P ()))
114114# 209.000 μs (1474 allocations: 60.94 KiB)
115- sol_no_disco_rosenbrock = solve (prob_multi, Rodas5P (); callback= cb_multi, reltol= 1e -7 , abstol= 1e -9 )
115+ sol_no_disco_rosenbrock = solve (prob_multi, Rodas5P (); callback = cb_multi, reltol = 1.0e -7 , abstol = 1.0e -9 )
116116# 237.250 μs (969 allocations: 45.44 KiB)
117117@test sol_disco_rosenbrock. retcode == ReturnCode. Success
118118@test sol_disco_rosenbrock. stats. nreject <= sol_no_disco_rosenbrock. stats. nreject
119119
120- sol_disco_tsit5 = solve (prob_multi, Tsit5 (); callback= cb_multi, reltol= 1e -7 , abstol= 1e -9 , controller = PI_disco_controller (Tsit5 ()))
120+ sol_disco_tsit5 = solve (prob_multi, Tsit5 (); callback = cb_multi, reltol = 1.0e -7 , abstol = 1.0e -9 , controller = PI_disco_controller (Tsit5 ()))
121121# 105.250 μs (1592 allocations: 60.34 KiB)
122- sol_no_disco_tsit5 = solve (prob_multi, Tsit5 (); callback= cb_multi, reltol = 1e -7 , abstol = 1e -9 )
122+ sol_no_disco_tsit5 = solve (prob_multi, Tsit5 (); callback = cb_multi, reltol = 1.0e -7 , abstol = 1.0e -9 )
123123# 88.000 μs (1133 allocations: 46.84 KiB)
124124@test sol_disco_tsit5. retcode == ReturnCode. Success
125125@test sol_disco_tsit5. stats. nreject <= sol_no_disco_tsit5. stats. nreject
126126
127127# TEST 4: STIFF MULTI-COMPONENT DISCONTINUITY
128128function f_stiff_disc! (du, u, p, t)
129129 λ = p[1 ]
130- if u[1 ] < 0.5
130+ return if u[1 ] < 0.5
131131 du[1 ] = - λ * u[1 ] + λ * exp (- t)
132132 du[2 ] = - λ * (u[2 ] - u[1 ])
133133 du[3 ] = - (u[3 ] - u[1 ]^ 2 )
@@ -145,9 +145,9 @@ prob_stiff = ODEProblem(f_stiff_disc!, u0_stiff, tspan_stiff, [500.0])
145145cond_stiff (u, t, integrator) = u[1 ] - 0.5
146146cb_stiff = ContinuousCallback (cond_stiff, default_affect!; maybe_discontinuity = true )
147147
148- sol_disco_rosenbrock = solve (prob_stiff, Rodas5P (); callback= cb_stiff, reltol= 1e -9 , abstol= 1e -11 , controller = PI_disco_controller (Rodas5P ()))
148+ sol_disco_rosenbrock = solve (prob_stiff, Rodas5P (); callback = cb_stiff, reltol = 1.0e -9 , abstol = 1.0e -11 , controller = PI_disco_controller (Rodas5P ()))
149149# 364.833 μs (2030 allocations: 85.34 KiB)
150- sol_no_disco_rosenbrock = solve (prob_stiff, Rodas5P (); callback= cb_stiff, reltol= 1e -9 , abstol= 1e -11 )
150+ sol_no_disco_rosenbrock = solve (prob_stiff, Rodas5P (); callback = cb_stiff, reltol = 1.0e -9 , abstol = 1.0e -11 )
151151# 332.750 μs (1765 allocations: 79.78 KiB)
152152@test sol_disco_rosenbrock. retcode == ReturnCode. Success
153153@test sol_disco_rosenbrock. stats. nreject <= sol_no_disco_rosenbrock. stats. nreject
@@ -178,9 +178,9 @@ prob_dae = ODEProblem(f_dae_func, u0_dae, tspan_dae)
178178cond_dae (u, t, integrator) = u[1 ] - 0.5
179179cb_dae = ContinuousCallback (cond_dae, default_affect!; maybe_discontinuity = true )
180180
181- sol_disco_rosenbrock = solve (prob_dae, Rodas5P (); callback= cb_dae, reltol= 1e -8 , abstol= 1e -10 , controller = PI_disco_controller (Rodas5P ()))
181+ sol_disco_rosenbrock = solve (prob_dae, Rodas5P (); callback = cb_dae, reltol = 1.0e -8 , abstol = 1.0e -10 , controller = PI_disco_controller (Rodas5P ()))
182182# 127.083 μs (831 allocations: 35.53 KiB)
183- sol_no_disco_rosenbrock = solve (prob_dae, Rodas5P (); callback= cb_dae, reltol= 1e -8 , abstol= 1e -10 )
183+ sol_no_disco_rosenbrock = solve (prob_dae, Rodas5P (); callback = cb_dae, reltol = 1.0e -8 , abstol = 1.0e -10 )
184184# 121.625 μs (625 allocations: 31.69 KiB)
185185@test sol_disco_rosenbrock. retcode == ReturnCode. Success
186186@test sol_disco_rosenbrock. stats. nreject <= sol_no_disco_rosenbrock. stats. nreject
@@ -203,16 +203,16 @@ end
203203default_affect_vec! (integrator, idx) = nothing
204204cb_vec = VectorContinuousCallback (condition_vec!, default_affect_vec!, 2 ; maybe_discontinuity = true )
205205
206- sol_disco_rosenbrock = solve (prob_vec, Rodas5P (); callback = cb_vec, reltol= 1e -7 , abstol= 1e -9 , controller = PI_disco_controller (Rodas5P ()))
206+ sol_disco_rosenbrock = solve (prob_vec, Rodas5P (); callback = cb_vec, reltol = 1.0e -7 , abstol = 1.0e -9 , controller = PI_disco_controller (Rodas5P ()))
207207# 191.250 μs (1212 allocations: 53.62 KiB)
208- sol_no_disco_rosenbrock = solve (prob_vec, Rodas5P (); callback = cb_vec, reltol= 1e -7 , abstol= 1e -9 )
208+ sol_no_disco_rosenbrock = solve (prob_vec, Rodas5P (); callback = cb_vec, reltol = 1.0e -7 , abstol = 1.0e -9 )
209209# 202.000 μs (939 allocations: 49.47 KiB)
210210@test sol_disco_rosenbrock. retcode == ReturnCode. Success
211211@test sol_disco_rosenbrock. stats. nreject <= sol_no_disco_rosenbrock. stats. nreject
212212
213- sol_disco_tsit5 = solve (prob_vec, Tsit5 (); callback = cb_vec, reltol= 1e -7 , abstol= 1e -9 , controller = PI_disco_controller (Tsit5 ()))
213+ sol_disco_tsit5 = solve (prob_vec, Tsit5 (); callback = cb_vec, reltol = 1.0e -7 , abstol = 1.0e -9 , controller = PI_disco_controller (Tsit5 ()))
214214# 94.459 μs (1626 allocations: 67.73 KiB)
215- sol_no_disco_tsit5 = solve (prob_vec, Tsit5 (); callback = cb_vec, reltol= 1e -7 , abstol= 1e -9 )
215+ sol_no_disco_tsit5 = solve (prob_vec, Tsit5 (); callback = cb_vec, reltol = 1.0e -7 , abstol = 1.0e -9 )
216216# 93.084 μs (1356 allocations: 63.04 KiB)
217217@test sol_disco_tsit5. retcode == ReturnCode. Success
218218@test sol_disco_tsit5. stats. nreject <= sol_no_disco_tsit5. stats. nreject
@@ -235,16 +235,16 @@ prob = ODEProblem(f!, u, tspan)
235235cond (u, t, integrator) = u[2 ]
236236cb = ContinuousCallback (cond, default_affect!; maybe_discontinuity = true )
237237
238- sol_disco_rosenbrock = solve (prob, Rodas5P (); callback = cb, reltol = 1e -8 , abstol = 1e -10 , controller = PI_disco_controller (Rodas5P ()))
238+ sol_disco_rosenbrock = solve (prob, Rodas5P (); callback = cb, reltol = 1.0e -8 , abstol = 1.0e -10 , controller = PI_disco_controller (Rodas5P ()))
239239# 169.208 μs (1190 allocations: 51.78 KiB)
240- sol_no_disco_rosenbrock = solve (prob, Rodas5P (); callback = cb, reltol = 1e -8 , abstol = 1e -10 )
240+ sol_no_disco_rosenbrock = solve (prob, Rodas5P (); callback = cb, reltol = 1.0e -8 , abstol = 1.0e -10 )
241241# 184.792 μs (877 allocations: 45.72 KiB)
242242@test sol_disco_rosenbrock. retcode == ReturnCode. Success
243243@test sol_disco_rosenbrock. stats. nreject <= sol_no_disco_rosenbrock. stats. nreject
244244
245- sol_disco_tsit5 = solve (prob, Tsit5 (); callback = cb, reltol = 1e -8 , abstol = 1e -10 , controller = PI_disco_controller (Tsit5 ()))
245+ sol_disco_tsit5 = solve (prob, Tsit5 (); callback = cb, reltol = 1.0e -8 , abstol = 1.0e -10 , controller = PI_disco_controller (Tsit5 ()))
246246# 59.625 μs (1248 allocations: 53.79 KiB)
247- sol_no_disco_tsit5 = solve (prob, Tsit5 (); callback = cb, reltol = 1e -8 , abstol = 1e -10 )
247+ sol_no_disco_tsit5 = solve (prob, Tsit5 (); callback = cb, reltol = 1.0e -8 , abstol = 1.0e -10 )
248248# 54.041 μs (1155 allocations: 54.55 KiB)
249249@test sol_disco_tsit5. retcode == ReturnCode. Success
250250@test sol_disco_tsit5. stats. nreject <= sol_no_disco_tsit5. stats. nreject
0 commit comments