@@ -9,39 +9,22 @@ struct Slopes{T}
9
9
sol:: Interval{T}
10
10
end
11
11
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 (∞))))
13
25
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
46
29
end
47
30
end
0 commit comments