Skip to content

Commit 4e92c1c

Browse files
committed
Consolidate total_cmp tests
This standardizes how max and min subnormals are generated. Since the new method doesn't use powf, it also enables some of the tests for f128 that were previously disabled due to issues with powf (although it looks like those issues were already fixed anyway). f16 signalling nan tests previously disabled are not re-enabled, since the underlying LLVM issue has not been closed.
1 parent 946b8c8 commit 4e92c1c

File tree

5 files changed

+164
-578
lines changed

5 files changed

+164
-578
lines changed

library/coretests/tests/floats/f128.rs

Lines changed: 0 additions & 144 deletions
Original file line numberDiff line numberDiff line change
@@ -132,150 +132,6 @@ fn test_float_bits_conv() {
132132
assert_eq!(f128::from_bits(masked_nan2).to_bits(), masked_nan2);
133133
}
134134

135-
#[test]
136-
fn test_total_cmp() {
137-
use core::cmp::Ordering;
138-
139-
fn quiet_bit_mask() -> u128 {
140-
1 << (f128::MANTISSA_DIGITS - 2)
141-
}
142-
143-
// FIXME(f16_f128): test subnormals when powf is available
144-
// fn min_subnorm() -> f128 {
145-
// f128::MIN_POSITIVE / f128::powf(2.0, f128::MANTISSA_DIGITS as f128 - 1.0)
146-
// }
147-
148-
// fn max_subnorm() -> f128 {
149-
// f128::MIN_POSITIVE - min_subnorm()
150-
// }
151-
152-
fn q_nan() -> f128 {
153-
f128::from_bits(f128::NAN.to_bits() | quiet_bit_mask())
154-
}
155-
156-
fn s_nan() -> f128 {
157-
f128::from_bits((f128::NAN.to_bits() & !quiet_bit_mask()) + 42)
158-
}
159-
160-
assert_eq!(Ordering::Equal, (-q_nan()).total_cmp(&-q_nan()));
161-
assert_eq!(Ordering::Equal, (-s_nan()).total_cmp(&-s_nan()));
162-
assert_eq!(Ordering::Equal, (-f128::INFINITY).total_cmp(&-f128::INFINITY));
163-
assert_eq!(Ordering::Equal, (-f128::MAX).total_cmp(&-f128::MAX));
164-
assert_eq!(Ordering::Equal, (-2.5_f128).total_cmp(&-2.5));
165-
assert_eq!(Ordering::Equal, (-1.0_f128).total_cmp(&-1.0));
166-
assert_eq!(Ordering::Equal, (-1.5_f128).total_cmp(&-1.5));
167-
assert_eq!(Ordering::Equal, (-0.5_f128).total_cmp(&-0.5));
168-
assert_eq!(Ordering::Equal, (-f128::MIN_POSITIVE).total_cmp(&-f128::MIN_POSITIVE));
169-
// assert_eq!(Ordering::Equal, (-max_subnorm()).total_cmp(&-max_subnorm()));
170-
// assert_eq!(Ordering::Equal, (-min_subnorm()).total_cmp(&-min_subnorm()));
171-
assert_eq!(Ordering::Equal, (-0.0_f128).total_cmp(&-0.0));
172-
assert_eq!(Ordering::Equal, 0.0_f128.total_cmp(&0.0));
173-
// assert_eq!(Ordering::Equal, min_subnorm().total_cmp(&min_subnorm()));
174-
// assert_eq!(Ordering::Equal, max_subnorm().total_cmp(&max_subnorm()));
175-
assert_eq!(Ordering::Equal, f128::MIN_POSITIVE.total_cmp(&f128::MIN_POSITIVE));
176-
assert_eq!(Ordering::Equal, 0.5_f128.total_cmp(&0.5));
177-
assert_eq!(Ordering::Equal, 1.0_f128.total_cmp(&1.0));
178-
assert_eq!(Ordering::Equal, 1.5_f128.total_cmp(&1.5));
179-
assert_eq!(Ordering::Equal, 2.5_f128.total_cmp(&2.5));
180-
assert_eq!(Ordering::Equal, f128::MAX.total_cmp(&f128::MAX));
181-
assert_eq!(Ordering::Equal, f128::INFINITY.total_cmp(&f128::INFINITY));
182-
assert_eq!(Ordering::Equal, s_nan().total_cmp(&s_nan()));
183-
assert_eq!(Ordering::Equal, q_nan().total_cmp(&q_nan()));
184-
185-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-s_nan()));
186-
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-f128::INFINITY));
187-
assert_eq!(Ordering::Less, (-f128::INFINITY).total_cmp(&-f128::MAX));
188-
assert_eq!(Ordering::Less, (-f128::MAX).total_cmp(&-2.5));
189-
assert_eq!(Ordering::Less, (-2.5_f128).total_cmp(&-1.5));
190-
assert_eq!(Ordering::Less, (-1.5_f128).total_cmp(&-1.0));
191-
assert_eq!(Ordering::Less, (-1.0_f128).total_cmp(&-0.5));
192-
assert_eq!(Ordering::Less, (-0.5_f128).total_cmp(&-f128::MIN_POSITIVE));
193-
// assert_eq!(Ordering::Less, (-f128::MIN_POSITIVE).total_cmp(&-max_subnorm()));
194-
// assert_eq!(Ordering::Less, (-max_subnorm()).total_cmp(&-min_subnorm()));
195-
// assert_eq!(Ordering::Less, (-min_subnorm()).total_cmp(&-0.0));
196-
assert_eq!(Ordering::Less, (-0.0_f128).total_cmp(&0.0));
197-
// assert_eq!(Ordering::Less, 0.0_f128.total_cmp(&min_subnorm()));
198-
// assert_eq!(Ordering::Less, min_subnorm().total_cmp(&max_subnorm()));
199-
// assert_eq!(Ordering::Less, max_subnorm().total_cmp(&f128::MIN_POSITIVE));
200-
assert_eq!(Ordering::Less, f128::MIN_POSITIVE.total_cmp(&0.5));
201-
assert_eq!(Ordering::Less, 0.5_f128.total_cmp(&1.0));
202-
assert_eq!(Ordering::Less, 1.0_f128.total_cmp(&1.5));
203-
assert_eq!(Ordering::Less, 1.5_f128.total_cmp(&2.5));
204-
assert_eq!(Ordering::Less, 2.5_f128.total_cmp(&f128::MAX));
205-
assert_eq!(Ordering::Less, f128::MAX.total_cmp(&f128::INFINITY));
206-
assert_eq!(Ordering::Less, f128::INFINITY.total_cmp(&s_nan()));
207-
assert_eq!(Ordering::Less, s_nan().total_cmp(&q_nan()));
208-
209-
assert_eq!(Ordering::Greater, (-s_nan()).total_cmp(&-q_nan()));
210-
assert_eq!(Ordering::Greater, (-f128::INFINITY).total_cmp(&-s_nan()));
211-
assert_eq!(Ordering::Greater, (-f128::MAX).total_cmp(&-f128::INFINITY));
212-
assert_eq!(Ordering::Greater, (-2.5_f128).total_cmp(&-f128::MAX));
213-
assert_eq!(Ordering::Greater, (-1.5_f128).total_cmp(&-2.5));
214-
assert_eq!(Ordering::Greater, (-1.0_f128).total_cmp(&-1.5));
215-
assert_eq!(Ordering::Greater, (-0.5_f128).total_cmp(&-1.0));
216-
assert_eq!(Ordering::Greater, (-f128::MIN_POSITIVE).total_cmp(&-0.5));
217-
// assert_eq!(Ordering::Greater, (-max_subnorm()).total_cmp(&-f128::MIN_POSITIVE));
218-
// assert_eq!(Ordering::Greater, (-min_subnorm()).total_cmp(&-max_subnorm()));
219-
// assert_eq!(Ordering::Greater, (-0.0_f128).total_cmp(&-min_subnorm()));
220-
assert_eq!(Ordering::Greater, 0.0_f128.total_cmp(&-0.0));
221-
// assert_eq!(Ordering::Greater, min_subnorm().total_cmp(&0.0));
222-
// assert_eq!(Ordering::Greater, max_subnorm().total_cmp(&min_subnorm()));
223-
// assert_eq!(Ordering::Greater, f128::MIN_POSITIVE.total_cmp(&max_subnorm()));
224-
assert_eq!(Ordering::Greater, 0.5_f128.total_cmp(&f128::MIN_POSITIVE));
225-
assert_eq!(Ordering::Greater, 1.0_f128.total_cmp(&0.5));
226-
assert_eq!(Ordering::Greater, 1.5_f128.total_cmp(&1.0));
227-
assert_eq!(Ordering::Greater, 2.5_f128.total_cmp(&1.5));
228-
assert_eq!(Ordering::Greater, f128::MAX.total_cmp(&2.5));
229-
assert_eq!(Ordering::Greater, f128::INFINITY.total_cmp(&f128::MAX));
230-
assert_eq!(Ordering::Greater, s_nan().total_cmp(&f128::INFINITY));
231-
assert_eq!(Ordering::Greater, q_nan().total_cmp(&s_nan()));
232-
233-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-s_nan()));
234-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-f128::INFINITY));
235-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-f128::MAX));
236-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-2.5));
237-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-1.5));
238-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-1.0));
239-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-0.5));
240-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-f128::MIN_POSITIVE));
241-
// assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-max_subnorm()));
242-
// assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-min_subnorm()));
243-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-0.0));
244-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&0.0));
245-
// assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&min_subnorm()));
246-
// assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&max_subnorm()));
247-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&f128::MIN_POSITIVE));
248-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&0.5));
249-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&1.0));
250-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&1.5));
251-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&2.5));
252-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&f128::MAX));
253-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&f128::INFINITY));
254-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&s_nan()));
255-
256-
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-f128::INFINITY));
257-
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-f128::MAX));
258-
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-2.5));
259-
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-1.5));
260-
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-1.0));
261-
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-0.5));
262-
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-f128::MIN_POSITIVE));
263-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-max_subnorm()));
264-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-min_subnorm()));
265-
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-0.0));
266-
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&0.0));
267-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&min_subnorm()));
268-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&max_subnorm()));
269-
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&f128::MIN_POSITIVE));
270-
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&0.5));
271-
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&1.0));
272-
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&1.5));
273-
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&2.5));
274-
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&f128::MAX));
275-
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&f128::INFINITY));
276-
assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&s_nan()));
277-
}
278-
279135
#[test]
280136
fn test_algebraic() {
281137
let a: f128 = 123.0;

library/coretests/tests/floats/f16.rs

Lines changed: 0 additions & 148 deletions
Original file line numberDiff line numberDiff line change
@@ -131,154 +131,6 @@ fn test_float_bits_conv() {
131131
assert_eq!(f16::from_bits(masked_nan2).to_bits(), masked_nan2);
132132
}
133133

134-
#[test]
135-
#[cfg(not(miri))]
136-
#[cfg(target_has_reliable_f16_math)]
137-
fn test_total_cmp() {
138-
use core::cmp::Ordering;
139-
140-
fn quiet_bit_mask() -> u16 {
141-
1 << (f16::MANTISSA_DIGITS - 2)
142-
}
143-
144-
fn min_subnorm() -> f16 {
145-
f16::MIN_POSITIVE / f16::powf(2.0, f16::MANTISSA_DIGITS as f16 - 1.0)
146-
}
147-
148-
fn max_subnorm() -> f16 {
149-
f16::MIN_POSITIVE - min_subnorm()
150-
}
151-
152-
fn q_nan() -> f16 {
153-
f16::from_bits(f16::NAN.to_bits() | quiet_bit_mask())
154-
}
155-
156-
// FIXME(f16_f128): Tests involving sNaN are disabled because without optimizations,
157-
// `total_cmp` is getting incorrectly lowered to code that includes a `extend`/`trunc` round
158-
// trip, which quiets sNaNs. See: https://github.com/llvm/llvm-project/issues/104915
159-
// fn s_nan() -> f16 {
160-
// f16::from_bits((f16::NAN.to_bits() & !quiet_bit_mask()) + 42)
161-
// }
162-
163-
assert_eq!(Ordering::Equal, (-q_nan()).total_cmp(&-q_nan()));
164-
// assert_eq!(Ordering::Equal, (-s_nan()).total_cmp(&-s_nan()));
165-
assert_eq!(Ordering::Equal, (-f16::INFINITY).total_cmp(&-f16::INFINITY));
166-
assert_eq!(Ordering::Equal, (-f16::MAX).total_cmp(&-f16::MAX));
167-
assert_eq!(Ordering::Equal, (-2.5_f16).total_cmp(&-2.5));
168-
assert_eq!(Ordering::Equal, (-1.0_f16).total_cmp(&-1.0));
169-
assert_eq!(Ordering::Equal, (-1.5_f16).total_cmp(&-1.5));
170-
assert_eq!(Ordering::Equal, (-0.5_f16).total_cmp(&-0.5));
171-
assert_eq!(Ordering::Equal, (-f16::MIN_POSITIVE).total_cmp(&-f16::MIN_POSITIVE));
172-
assert_eq!(Ordering::Equal, (-max_subnorm()).total_cmp(&-max_subnorm()));
173-
assert_eq!(Ordering::Equal, (-min_subnorm()).total_cmp(&-min_subnorm()));
174-
assert_eq!(Ordering::Equal, (-0.0_f16).total_cmp(&-0.0));
175-
assert_eq!(Ordering::Equal, 0.0_f16.total_cmp(&0.0));
176-
assert_eq!(Ordering::Equal, min_subnorm().total_cmp(&min_subnorm()));
177-
assert_eq!(Ordering::Equal, max_subnorm().total_cmp(&max_subnorm()));
178-
assert_eq!(Ordering::Equal, f16::MIN_POSITIVE.total_cmp(&f16::MIN_POSITIVE));
179-
assert_eq!(Ordering::Equal, 0.5_f16.total_cmp(&0.5));
180-
assert_eq!(Ordering::Equal, 1.0_f16.total_cmp(&1.0));
181-
assert_eq!(Ordering::Equal, 1.5_f16.total_cmp(&1.5));
182-
assert_eq!(Ordering::Equal, 2.5_f16.total_cmp(&2.5));
183-
assert_eq!(Ordering::Equal, f16::MAX.total_cmp(&f16::MAX));
184-
assert_eq!(Ordering::Equal, f16::INFINITY.total_cmp(&f16::INFINITY));
185-
// assert_eq!(Ordering::Equal, s_nan().total_cmp(&s_nan()));
186-
assert_eq!(Ordering::Equal, q_nan().total_cmp(&q_nan()));
187-
188-
// assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-s_nan()));
189-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-f16::INFINITY));
190-
assert_eq!(Ordering::Less, (-f16::INFINITY).total_cmp(&-f16::MAX));
191-
assert_eq!(Ordering::Less, (-f16::MAX).total_cmp(&-2.5));
192-
assert_eq!(Ordering::Less, (-2.5_f16).total_cmp(&-1.5));
193-
assert_eq!(Ordering::Less, (-1.5_f16).total_cmp(&-1.0));
194-
assert_eq!(Ordering::Less, (-1.0_f16).total_cmp(&-0.5));
195-
assert_eq!(Ordering::Less, (-0.5_f16).total_cmp(&-f16::MIN_POSITIVE));
196-
assert_eq!(Ordering::Less, (-f16::MIN_POSITIVE).total_cmp(&-max_subnorm()));
197-
assert_eq!(Ordering::Less, (-max_subnorm()).total_cmp(&-min_subnorm()));
198-
assert_eq!(Ordering::Less, (-min_subnorm()).total_cmp(&-0.0));
199-
assert_eq!(Ordering::Less, (-0.0_f16).total_cmp(&0.0));
200-
assert_eq!(Ordering::Less, 0.0_f16.total_cmp(&min_subnorm()));
201-
assert_eq!(Ordering::Less, min_subnorm().total_cmp(&max_subnorm()));
202-
assert_eq!(Ordering::Less, max_subnorm().total_cmp(&f16::MIN_POSITIVE));
203-
assert_eq!(Ordering::Less, f16::MIN_POSITIVE.total_cmp(&0.5));
204-
assert_eq!(Ordering::Less, 0.5_f16.total_cmp(&1.0));
205-
assert_eq!(Ordering::Less, 1.0_f16.total_cmp(&1.5));
206-
assert_eq!(Ordering::Less, 1.5_f16.total_cmp(&2.5));
207-
assert_eq!(Ordering::Less, 2.5_f16.total_cmp(&f16::MAX));
208-
assert_eq!(Ordering::Less, f16::MAX.total_cmp(&f16::INFINITY));
209-
// assert_eq!(Ordering::Less, f16::INFINITY.total_cmp(&s_nan()));
210-
// assert_eq!(Ordering::Less, s_nan().total_cmp(&q_nan()));
211-
212-
// assert_eq!(Ordering::Greater, (-s_nan()).total_cmp(&-q_nan()));
213-
// assert_eq!(Ordering::Greater, (-f16::INFINITY).total_cmp(&-s_nan()));
214-
assert_eq!(Ordering::Greater, (-f16::MAX).total_cmp(&-f16::INFINITY));
215-
assert_eq!(Ordering::Greater, (-2.5_f16).total_cmp(&-f16::MAX));
216-
assert_eq!(Ordering::Greater, (-1.5_f16).total_cmp(&-2.5));
217-
assert_eq!(Ordering::Greater, (-1.0_f16).total_cmp(&-1.5));
218-
assert_eq!(Ordering::Greater, (-0.5_f16).total_cmp(&-1.0));
219-
assert_eq!(Ordering::Greater, (-f16::MIN_POSITIVE).total_cmp(&-0.5));
220-
assert_eq!(Ordering::Greater, (-max_subnorm()).total_cmp(&-f16::MIN_POSITIVE));
221-
assert_eq!(Ordering::Greater, (-min_subnorm()).total_cmp(&-max_subnorm()));
222-
assert_eq!(Ordering::Greater, (-0.0_f16).total_cmp(&-min_subnorm()));
223-
assert_eq!(Ordering::Greater, 0.0_f16.total_cmp(&-0.0));
224-
assert_eq!(Ordering::Greater, min_subnorm().total_cmp(&0.0));
225-
assert_eq!(Ordering::Greater, max_subnorm().total_cmp(&min_subnorm()));
226-
assert_eq!(Ordering::Greater, f16::MIN_POSITIVE.total_cmp(&max_subnorm()));
227-
assert_eq!(Ordering::Greater, 0.5_f16.total_cmp(&f16::MIN_POSITIVE));
228-
assert_eq!(Ordering::Greater, 1.0_f16.total_cmp(&0.5));
229-
assert_eq!(Ordering::Greater, 1.5_f16.total_cmp(&1.0));
230-
assert_eq!(Ordering::Greater, 2.5_f16.total_cmp(&1.5));
231-
assert_eq!(Ordering::Greater, f16::MAX.total_cmp(&2.5));
232-
assert_eq!(Ordering::Greater, f16::INFINITY.total_cmp(&f16::MAX));
233-
// assert_eq!(Ordering::Greater, s_nan().total_cmp(&f16::INFINITY));
234-
// assert_eq!(Ordering::Greater, q_nan().total_cmp(&s_nan()));
235-
236-
// assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-s_nan()));
237-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-f16::INFINITY));
238-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-f16::MAX));
239-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-2.5));
240-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-1.5));
241-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-1.0));
242-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-0.5));
243-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-f16::MIN_POSITIVE));
244-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-max_subnorm()));
245-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-min_subnorm()));
246-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-0.0));
247-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&0.0));
248-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&min_subnorm()));
249-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&max_subnorm()));
250-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&f16::MIN_POSITIVE));
251-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&0.5));
252-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&1.0));
253-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&1.5));
254-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&2.5));
255-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&f16::MAX));
256-
assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&f16::INFINITY));
257-
// assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&s_nan()));
258-
259-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-f16::INFINITY));
260-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-f16::MAX));
261-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-2.5));
262-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-1.5));
263-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-1.0));
264-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-0.5));
265-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-f16::MIN_POSITIVE));
266-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-max_subnorm()));
267-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-min_subnorm()));
268-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-0.0));
269-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&0.0));
270-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&min_subnorm()));
271-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&max_subnorm()));
272-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&f16::MIN_POSITIVE));
273-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&0.5));
274-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&1.0));
275-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&1.5));
276-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&2.5));
277-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&f16::MAX));
278-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&f16::INFINITY));
279-
// assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&s_nan()));
280-
}
281-
282134
#[test]
283135
fn test_algebraic() {
284136
let a: f16 = 123.0;

0 commit comments

Comments
 (0)