@@ -24,8 +24,8 @@ function test_fixed(::Type{F}) where {F}
24
24
fxf = convert (Float64, fx)
25
25
26
26
@test convert (F, convert (Float64, fx)) === fx
27
- @test convert (F, convert (Float64, - fx)) === - fx
28
- @test convert (Float64, - fx) == - convert (Float64, fx)
27
+ fx != typemin (F) && @test convert (F, convert (Float64, - fx)) === - fx
28
+ fx != typemin (F) && @test convert (Float64, - fx) == - convert (Float64, fx)
29
29
30
30
rx = convert (Rational{BigInt}, fx)
31
31
@assert isequal (fx, rx) == isequal (hash (fx), hash (rx))
113
113
f < bitwidth (T) - 1 && @test one (F) == 1
114
114
f < bitwidth (T) - 1 && @test one (F) * oneunit (F) == oneunit (F)
115
115
@test typemin (F) == typemin (T) >> f
116
- @test typemax (F) == typemax (T)// big " 2" ^ f
116
+ if T === Int128
117
+ @test typemax (F) * big " 2" ^ f == typemax (T)
118
+ else
119
+ @test typemax (F) == typemax (T)// big " 2" ^ f
120
+ end
117
121
@test floatmin (F) === eps (F) == 2.0 ^- f # issue #79
118
122
@test floatmax (F) === typemax (F)
119
123
@test eps (zero (F)) === eps (typemax (F))
343
347
xys = ((x, y) for x in xs, y in xs)
344
348
fsub (x, y) = float (x) - float (y)
345
349
@test all (((x, y),) -> wrapping_add (wrapping_sub (x, y), y) === x, xys)
346
- @test all (((x, y),) -> saturating_sub (x, y) == clamp (fsub (x, y), F), xys)
347
- @test all (((x, y),) -> ! (typemin (F) < fsub (x, y) < typemax (F)) ||
350
+ @test all (((x, y),) -> saturating_sub (x, y) === clamp (fsub (x, y), F), xys)
351
+ @test all (((x, y),) -> ! (typemin (F) <= fsub (x, y) <= typemax (F)) ||
348
352
wrapping_sub (x, y) === checked_sub (x, y) === fsub (x, y) % F, xys)
349
353
end
350
354
end
0 commit comments