@@ -9,39 +9,22 @@ struct Slopes{T}
99 sol:: Interval{T}
1010end
1111
12- @testset " Automatic slope expansion(Float64)" begin
12+ @testset " Automatic slope expansion" begin
13+ for T in [Float64, BigFloat]
14+ s = interval (T (0.75 ), T (1.75 ))
15+ rts = Slopes{T}[]
16+ push! (rts, Slopes (x-> ((x + sin (x)) * exp (- x^ 2 )), s, mid (s), interval (T (- 2.8 ), T (0.1 ))))
17+ push! (rts, Slopes (x-> (x^ 4 - 10 x^ 3 + 35 x^ 2 - 50 x + 24 ), s, mid (s), interval (T (- 44 ), T (38.5 ))))
18+ push! (rts, Slopes (x-> ((log (x + 1.25 ) - 0.84 x) ^ 2 ), s, mid (s), interval (T (- 0.16 ), T (0.44 ))))
19+ push! (rts, Slopes (x-> (0.02 x^ 2 - 0.03 exp (- (20 (x - 0.875 ))^ 2 )), s, mid (s), interval (T (0.03 ), T (0.33 ))))
20+ push! (rts, Slopes (x-> (exp (x^ 2 )), s, mid (s), interval (T (6.03 ), T (33.23 ))))
21+ push! (rts, Slopes (x-> (x^ 4 - 12 x^ 3 + 47 x^ 2 - 60 x - 20 exp (- x)), s, mid (s), interval (T (- 39 ), T (65.56 ))))
22+ push! (rts, Slopes (x-> (x^ 6 - 15 x^ 4 + 27 x^ 2 + 250 ), s, mid (s), interval (T (- 146.9 ), T (67.1 ))))
23+ push! (rts, Slopes (x-> (atan (cos (tan (x)))), s, mid (s), interval (T (1 ), T (2 ))))
24+ push! (rts, Slopes (x-> (asin (cos (acos (sin (x))))), s, mid (s), interval (T (1.36 ), T (∞))))
1325
14- s = interval (0.75 , 1.75 )
15- rts = Slopes{Float64}[]
16- push! (rts, Slopes (x-> ((x + sin (x)) * exp (- x^ 2 )), s, mid (s), interval (- 2.8 , 0.1 )))
17- push! (rts, Slopes (x-> (x^ 4 - 10 x^ 3 + 35 x^ 2 - 50 x + 24 ), s, mid (s), interval (- 44 , 38.5 )))
18- push! (rts, Slopes (x-> ((log (x + 1.25 ) - 0.84 x) ^ 2 ), s, mid (s), interval (- 0.16 , 0.44 )))
19- push! (rts, Slopes (x-> (0.02 x^ 2 - 0.03 exp (- (20 (x - 0.875 ))^ 2 )), s, mid (s), interval (0.03 , 0.33 )))
20- push! (rts, Slopes (x-> (exp (x^ 2 )), s, mid (s), interval (6.03 , 33.23 )))
21- push! (rts, Slopes (x-> (x^ 4 - 12 x^ 3 + 47 x^ 2 - 60 x - 20 exp (- x)), s, mid (s), interval (- 39 , 65.56 )))
22- push! (rts, Slopes (x-> (x^ 6 - 15 x^ 4 + 27 x^ 2 + 250 ), s, mid (s), interval (- 146.9 , 67.1 )))
23- push! (rts, Slopes (x-> (atan (cos (tan (x)))), s, mid (s), interval (1 , 2 )))
24- push! (rts, Slopes (x-> (asin (cos (acos (sin (x))))), s, mid (s), interval (1.36 , ∞)))
25-
26- for i in 1 : length (rts)
27- @test slope (rts[i]. f, rts[i]. x, rts[i]. c) ⊆ rts[i]. sol
28- end
29- end
30-
31- @testset " Automatic slope expansion(BigFloat)" begin
32- s = interval (BigFloat (0.75 ), BigFloat (1.75 ))
33- rts = Slopes{BigFloat}[]
34- push! (rts, Slopes (x-> ((x + sin (x)) * exp (- x^ 2 )), s, mid (s), interval (BigFloat (- 2.8 ), BigFloat (0.1 ))))
35- push! (rts, Slopes (x-> (x^ 4 - 10 x^ 3 + 35 x^ 2 - 50 x + 24 ), s, mid (s), interval (BigFloat (- 44 ), BigFloat (38.5 ))))
36- push! (rts, Slopes (x-> ((log (x + 1.25 ) - 0.84 x) ^ 2 ), s, mid (s), interval (BigFloat (- 0.16 ), BigFloat (0.44 ))))
37- push! (rts, Slopes (x-> (0.02 x^ 2 - 0.03 exp (- (20 (x - 0.875 ))^ 2 )), s, mid (s), interval (BigFloat (0.03 ), BigFloat (0.33 ))))
38- push! (rts, Slopes (x-> (exp (x^ 2 )), s, mid (s), interval (BigFloat (6.03 ), BigFloat (33.23 ))))
39- push! (rts, Slopes (x-> (x^ 4 - 12 x^ 3 + 47 x^ 2 - 60 x - 20 exp (- x)), s, mid (s), interval (BigFloat (- 39 ), BigFloat (65.56 ))))
40- push! (rts, Slopes (x-> (x^ 6 - 15 x^ 4 + 27 x^ 2 + 250 ), s, mid (s), interval (BigFloat (- 146.9 ), BigFloat (67.1 ))))
41- push! (rts, Slopes (x-> (atan (cos (tan (x)))), s, mid (s), interval (BigFloat (1 ), BigFloat (2 ))))
42- push! (rts, Slopes (x-> (asin (cos (acos (sin (x))))), s, mid (s), interval (BigFloat (1.36 ), BigFloat (∞))))
43-
44- for i in 1 : length (rts)
45- @test slope (rts[i]. f, rts[i]. x, rts[i]. c) ⊆ rts[i]. sol
26+ for i in 1 : length (rts)
27+ @test slope (rts[i]. f, rts[i]. x, rts[i]. c) ⊆ rts[i]. sol
28+ end
4629 end
4730end
0 commit comments