Skip to content

Commit b4a3d30

Browse files
committed
Consolidate abs tests
This clobbers the existing generic abs test, but it covers strictly more, so that seems fine.
1 parent e1b9081 commit b4a3d30

File tree

5 files changed

+9
-53
lines changed

5 files changed

+9
-53
lines changed

library/coretests/tests/floats/f128.rs

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -39,19 +39,6 @@ const NAN_MASK2: u128 = 0x00005555555555555555555555555555;
3939
// FIXME(f16_f128,miri): many of these have to be disabled since miri does not yet support
4040
// the intrinsics.
4141

42-
#[test]
43-
#[cfg(any(miri, target_has_reliable_f128_math))]
44-
fn test_abs() {
45-
assert_biteq!(f128::INFINITY.abs(), f128::INFINITY);
46-
assert_biteq!(1f128.abs(), 1f128);
47-
assert_biteq!(0f128.abs(), 0f128);
48-
assert_biteq!((-0f128).abs(), 0f128);
49-
assert_biteq!((-1f128).abs(), 1f128);
50-
assert_biteq!(f128::NEG_INFINITY.abs(), f128::INFINITY);
51-
assert_biteq!((1f128 / f128::NEG_INFINITY).abs(), 0f128);
52-
assert!(f128::NAN.abs().is_nan());
53-
}
54-
5542
#[test]
5643
fn test_is_sign_positive() {
5744
assert!(f128::INFINITY.is_sign_positive());

library/coretests/tests/floats/f16.rs

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -45,19 +45,6 @@ const NAN_MASK2: u16 = 0x0155;
4545
// FIXME(f16_f128,miri): many of these have to be disabled since miri does not yet support
4646
// the intrinsics.
4747

48-
#[test]
49-
#[cfg(any(miri, target_has_reliable_f16_math))]
50-
fn test_abs() {
51-
assert_biteq!(f16::INFINITY.abs(), f16::INFINITY);
52-
assert_biteq!(1f16.abs(), 1f16);
53-
assert_biteq!(0f16.abs(), 0f16);
54-
assert_biteq!((-0f16).abs(), 0f16);
55-
assert_biteq!((-1f16).abs(), 1f16);
56-
assert_biteq!(f16::NEG_INFINITY.abs(), f16::INFINITY);
57-
assert_biteq!((1f16 / f16::NEG_INFINITY).abs(), 0f16);
58-
assert!(f16::NAN.abs().is_nan());
59-
}
60-
6148
#[test]
6249
fn test_is_sign_positive() {
6350
assert!(f16::INFINITY.is_sign_positive());

library/coretests/tests/floats/f32.rs

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,6 @@ const NAN_MASK2: u32 = 0x0055_5555;
2929
/// They serve as a way to get an idea of the real precision of floating point operations on different platforms.
3030
const APPROX_DELTA: f32 = if cfg!(miri) { 1e-4 } else { 1e-6 };
3131

32-
#[test]
33-
fn test_abs() {
34-
assert_biteq!(f32::INFINITY.abs(), f32::INFINITY);
35-
assert_biteq!(1f32.abs(), 1f32);
36-
assert_biteq!(0f32.abs(), 0f32);
37-
assert_biteq!((-0f32).abs(), 0f32);
38-
assert_biteq!((-1f32).abs(), 1f32);
39-
assert_biteq!(f32::NEG_INFINITY.abs(), f32::INFINITY);
40-
assert_biteq!((1f32 / f32::NEG_INFINITY).abs(), 0f32);
41-
assert!(f32::NAN.abs().is_nan());
42-
}
43-
4432
#[test]
4533
fn test_signum() {
4634
assert_biteq!(f32::INFINITY.signum(), 1f32);

library/coretests/tests/floats/f64.rs

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,6 @@ const NAN_MASK1: u64 = 0x000a_aaaa_aaaa_aaaa;
2424
/// Second pattern over the mantissa
2525
const NAN_MASK2: u64 = 0x0005_5555_5555_5555;
2626

27-
#[test]
28-
fn test_abs() {
29-
assert_biteq!(f64::INFINITY.abs(), f64::INFINITY);
30-
assert_biteq!(1f64.abs(), 1f64);
31-
assert_biteq!(0f64.abs(), 0f64);
32-
assert_biteq!((-0f64).abs(), 0f64);
33-
assert_biteq!((-1f64).abs(), 1f64);
34-
assert_biteq!(f64::NEG_INFINITY.abs(), f64::INFINITY);
35-
assert_biteq!((1f64 / f64::NEG_INFINITY).abs(), 0f64);
36-
assert!(f64::NAN.abs().is_nan());
37-
}
38-
3927
#[test]
4028
fn test_signum() {
4129
assert_biteq!(f64::INFINITY.signum(), 1f64);

library/coretests/tests/floats/mod.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -720,10 +720,16 @@ float_test! {
720720
f128: #[cfg(any(miri, target_has_reliable_f128_math))],
721721
},
722722
test<Float> {
723-
assert_biteq!((-1.0 as Float).abs(), 1.0);
724-
assert_biteq!((1.0 as Float).abs(), 1.0);
725-
assert_biteq!(Float::NEG_INFINITY.abs(), Float::INFINITY);
723+
let one: Float = 1.0;
724+
let zero: Float = 0.0;
726725
assert_biteq!(Float::INFINITY.abs(), Float::INFINITY);
726+
assert_biteq!(one.abs(), one);
727+
assert_biteq!(zero.abs(), zero);
728+
assert_biteq!((-zero).abs(), zero);
729+
assert_biteq!((-one).abs(), one);
730+
assert_biteq!(Float::NEG_INFINITY.abs(), Float::INFINITY);
731+
assert_biteq!((one / Float::NEG_INFINITY).abs(), zero);
732+
assert!(Float::NAN.abs().is_nan());
727733
}
728734
}
729735

0 commit comments

Comments
 (0)