@@ -15,21 +15,6 @@ const TOL: f128 = 1e-12;
1515/// signs.
1616const TOL_PRECISE : f128 = 1e-28 ;
1717
18- /// Smallest number
19- const TINY_BITS : u128 = 0x1 ;
20-
21- /// Next smallest number
22- const TINY_UP_BITS : u128 = 0x2 ;
23-
24- /// Exponent = 0b11...10, Sifnificand 0b1111..10. Min val > 0
25- const MAX_DOWN_BITS : u128 = 0x7ffefffffffffffffffffffffffffffe ;
26-
27- /// Zeroed exponent, full significant
28- const LARGEST_SUBNORMAL_BITS : u128 = 0x0000ffffffffffffffffffffffffffff ;
29-
30- /// Exponent = 0b1, zeroed significand
31- const SMALLEST_NORMAL_BITS : u128 = 0x00010000000000000000000000000000 ;
32-
3318/// First pattern over the mantissa
3419const NAN_MASK1 : u128 = 0x0000aaaaaaaaaaaaaaaaaaaaaaaaaaaa ;
3520
@@ -39,106 +24,6 @@ const NAN_MASK2: u128 = 0x00005555555555555555555555555555;
3924// FIXME(f16_f128,miri): many of these have to be disabled since miri does not yet support
4025// the intrinsics.
4126
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 ! ( 1 f128. abs( ) , 1 f128) ;
47- assert_biteq ! ( 0 f128. abs( ) , 0 f128) ;
48- assert_biteq ! ( ( -0 f128) . abs( ) , 0 f128) ;
49- assert_biteq ! ( ( -1 f128) . abs( ) , 1 f128) ;
50- assert_biteq ! ( f128:: NEG_INFINITY . abs( ) , f128:: INFINITY ) ;
51- assert_biteq ! ( ( 1 f128 / f128:: NEG_INFINITY ) . abs( ) , 0 f128) ;
52- assert ! ( f128:: NAN . abs( ) . is_nan( ) ) ;
53- }
54-
55- #[ test]
56- fn test_is_sign_positive ( ) {
57- assert ! ( f128:: INFINITY . is_sign_positive( ) ) ;
58- assert ! ( 1 f128. is_sign_positive( ) ) ;
59- assert ! ( 0 f128. is_sign_positive( ) ) ;
60- assert ! ( !( -0 f128) . is_sign_positive( ) ) ;
61- assert ! ( !( -1 f128) . is_sign_positive( ) ) ;
62- assert ! ( !f128:: NEG_INFINITY . is_sign_positive( ) ) ;
63- assert ! ( !( 1 f128 / f128:: NEG_INFINITY ) . is_sign_positive( ) ) ;
64- assert ! ( f128:: NAN . is_sign_positive( ) ) ;
65- assert ! ( !( -f128:: NAN ) . is_sign_positive( ) ) ;
66- }
67-
68- #[ test]
69- fn test_is_sign_negative ( ) {
70- assert ! ( !f128:: INFINITY . is_sign_negative( ) ) ;
71- assert ! ( !1 f128. is_sign_negative( ) ) ;
72- assert ! ( !0 f128. is_sign_negative( ) ) ;
73- assert ! ( ( -0 f128) . is_sign_negative( ) ) ;
74- assert ! ( ( -1 f128) . is_sign_negative( ) ) ;
75- assert ! ( f128:: NEG_INFINITY . is_sign_negative( ) ) ;
76- assert ! ( ( 1 f128 / f128:: NEG_INFINITY ) . is_sign_negative( ) ) ;
77- assert ! ( !f128:: NAN . is_sign_negative( ) ) ;
78- assert ! ( ( -f128:: NAN ) . is_sign_negative( ) ) ;
79- }
80-
81- #[ test]
82- fn test_next_up ( ) {
83- let tiny = f128:: from_bits ( TINY_BITS ) ;
84- let tiny_up = f128:: from_bits ( TINY_UP_BITS ) ;
85- let max_down = f128:: from_bits ( MAX_DOWN_BITS ) ;
86- let largest_subnormal = f128:: from_bits ( LARGEST_SUBNORMAL_BITS ) ;
87- let smallest_normal = f128:: from_bits ( SMALLEST_NORMAL_BITS ) ;
88- assert_biteq ! ( f128:: NEG_INFINITY . next_up( ) , f128:: MIN ) ;
89- assert_biteq ! ( f128:: MIN . next_up( ) , -max_down) ;
90- assert_biteq ! ( ( -1.0 - f128:: EPSILON ) . next_up( ) , -1.0f128 ) ;
91- assert_biteq ! ( ( -smallest_normal) . next_up( ) , -largest_subnormal) ;
92- assert_biteq ! ( ( -tiny_up) . next_up( ) , -tiny) ;
93- assert_biteq ! ( ( -tiny) . next_up( ) , -0.0f128 ) ;
94- assert_biteq ! ( ( -0.0f128 ) . next_up( ) , tiny) ;
95- assert_biteq ! ( 0.0f128 . next_up( ) , tiny) ;
96- assert_biteq ! ( tiny. next_up( ) , tiny_up) ;
97- assert_biteq ! ( largest_subnormal. next_up( ) , smallest_normal) ;
98- assert_biteq ! ( 1.0f128 . next_up( ) , 1.0 + f128:: EPSILON ) ;
99- assert_biteq ! ( f128:: MAX . next_up( ) , f128:: INFINITY ) ;
100- assert_biteq ! ( f128:: INFINITY . next_up( ) , f128:: INFINITY ) ;
101-
102- // Check that NaNs roundtrip.
103- let nan0 = f128:: NAN ;
104- let nan1 = f128:: from_bits ( f128:: NAN . to_bits ( ) ^ 0x002a_aaaa ) ;
105- let nan2 = f128:: from_bits ( f128:: NAN . to_bits ( ) ^ 0x0055_5555 ) ;
106- assert_biteq ! ( nan0. next_up( ) , nan0) ;
107- assert_biteq ! ( nan1. next_up( ) , nan1) ;
108- assert_biteq ! ( nan2. next_up( ) , nan2) ;
109- }
110-
111- #[ test]
112- fn test_next_down ( ) {
113- let tiny = f128:: from_bits ( TINY_BITS ) ;
114- let tiny_up = f128:: from_bits ( TINY_UP_BITS ) ;
115- let max_down = f128:: from_bits ( MAX_DOWN_BITS ) ;
116- let largest_subnormal = f128:: from_bits ( LARGEST_SUBNORMAL_BITS ) ;
117- let smallest_normal = f128:: from_bits ( SMALLEST_NORMAL_BITS ) ;
118- assert_biteq ! ( f128:: NEG_INFINITY . next_down( ) , f128:: NEG_INFINITY ) ;
119- assert_biteq ! ( f128:: MIN . next_down( ) , f128:: NEG_INFINITY ) ;
120- assert_biteq ! ( ( -max_down) . next_down( ) , f128:: MIN ) ;
121- assert_biteq ! ( ( -1.0f128 ) . next_down( ) , -1.0 - f128:: EPSILON ) ;
122- assert_biteq ! ( ( -largest_subnormal) . next_down( ) , -smallest_normal) ;
123- assert_biteq ! ( ( -tiny) . next_down( ) , -tiny_up) ;
124- assert_biteq ! ( ( -0.0f128 ) . next_down( ) , -tiny) ;
125- assert_biteq ! ( ( 0.0f128 ) . next_down( ) , -tiny) ;
126- assert_biteq ! ( tiny. next_down( ) , 0.0f128 ) ;
127- assert_biteq ! ( tiny_up. next_down( ) , tiny) ;
128- assert_biteq ! ( smallest_normal. next_down( ) , largest_subnormal) ;
129- assert_biteq ! ( ( 1.0 + f128:: EPSILON ) . next_down( ) , 1.0f128 ) ;
130- assert_biteq ! ( f128:: MAX . next_down( ) , max_down) ;
131- assert_biteq ! ( f128:: INFINITY . next_down( ) , f128:: MAX ) ;
132-
133- // Check that NaNs roundtrip.
134- let nan0 = f128:: NAN ;
135- let nan1 = f128:: from_bits ( f128:: NAN . to_bits ( ) ^ 0x002a_aaaa ) ;
136- let nan2 = f128:: from_bits ( f128:: NAN . to_bits ( ) ^ 0x0055_5555 ) ;
137- assert_biteq ! ( nan0. next_down( ) , nan0) ;
138- assert_biteq ! ( nan1. next_down( ) , nan1) ;
139- assert_biteq ! ( nan2. next_down( ) , nan2) ;
140- }
141-
14227#[ test]
14328#[ cfg( not( miri) ) ]
14429#[ cfg( target_has_reliable_f128_math) ]
@@ -193,19 +78,6 @@ fn test_powi() {
19378 assert_biteq ! ( neg_inf. powi( 2 ) , inf) ;
19479}
19580
196- #[ test]
197- #[ cfg( not( miri) ) ]
198- #[ cfg( target_has_reliable_f128_math) ]
199- fn test_sqrt_domain ( ) {
200- assert ! ( f128:: NAN . sqrt( ) . is_nan( ) ) ;
201- assert ! ( f128:: NEG_INFINITY . sqrt( ) . is_nan( ) ) ;
202- assert ! ( ( -1.0f128 ) . sqrt( ) . is_nan( ) ) ;
203- assert_biteq ! ( ( -0.0f128 ) . sqrt( ) , -0.0 ) ;
204- assert_biteq ! ( 0.0f128 . sqrt( ) , 0.0 ) ;
205- assert_biteq ! ( 1.0f128 . sqrt( ) , 1.0 ) ;
206- assert_biteq ! ( f128:: INFINITY . sqrt( ) , f128:: INFINITY ) ;
207- }
208-
20981#[ test]
21082fn test_to_degrees ( ) {
21183 let pi: f128 = consts:: PI ;
@@ -260,168 +132,6 @@ fn test_float_bits_conv() {
260132 assert_eq ! ( f128:: from_bits( masked_nan2) . to_bits( ) , masked_nan2) ;
261133}
262134
263- #[ test]
264- #[ should_panic]
265- fn test_clamp_min_greater_than_max ( ) {
266- let _ = 1.0f128 . clamp ( 3.0 , 1.0 ) ;
267- }
268-
269- #[ test]
270- #[ should_panic]
271- fn test_clamp_min_is_nan ( ) {
272- let _ = 1.0f128 . clamp ( f128:: NAN , 1.0 ) ;
273- }
274-
275- #[ test]
276- #[ should_panic]
277- fn test_clamp_max_is_nan ( ) {
278- let _ = 1.0f128 . clamp ( 3.0 , f128:: NAN ) ;
279- }
280-
281- #[ test]
282- fn test_total_cmp ( ) {
283- use core:: cmp:: Ordering ;
284-
285- fn quiet_bit_mask ( ) -> u128 {
286- 1 << ( f128:: MANTISSA_DIGITS - 2 )
287- }
288-
289- // FIXME(f16_f128): test subnormals when powf is available
290- // fn min_subnorm() -> f128 {
291- // f128::MIN_POSITIVE / f128::powf(2.0, f128::MANTISSA_DIGITS as f128 - 1.0)
292- // }
293-
294- // fn max_subnorm() -> f128 {
295- // f128::MIN_POSITIVE - min_subnorm()
296- // }
297-
298- fn q_nan ( ) -> f128 {
299- f128:: from_bits ( f128:: NAN . to_bits ( ) | quiet_bit_mask ( ) )
300- }
301-
302- fn s_nan ( ) -> f128 {
303- f128:: from_bits ( ( f128:: NAN . to_bits ( ) & !quiet_bit_mask ( ) ) + 42 )
304- }
305-
306- assert_eq ! ( Ordering :: Equal , ( -q_nan( ) ) . total_cmp( & -q_nan( ) ) ) ;
307- assert_eq ! ( Ordering :: Equal , ( -s_nan( ) ) . total_cmp( & -s_nan( ) ) ) ;
308- assert_eq ! ( Ordering :: Equal , ( -f128:: INFINITY ) . total_cmp( & -f128:: INFINITY ) ) ;
309- assert_eq ! ( Ordering :: Equal , ( -f128:: MAX ) . total_cmp( & -f128:: MAX ) ) ;
310- assert_eq ! ( Ordering :: Equal , ( -2.5_f128 ) . total_cmp( & -2.5 ) ) ;
311- assert_eq ! ( Ordering :: Equal , ( -1.0_f128 ) . total_cmp( & -1.0 ) ) ;
312- assert_eq ! ( Ordering :: Equal , ( -1.5_f128 ) . total_cmp( & -1.5 ) ) ;
313- assert_eq ! ( Ordering :: Equal , ( -0.5_f128 ) . total_cmp( & -0.5 ) ) ;
314- assert_eq ! ( Ordering :: Equal , ( -f128:: MIN_POSITIVE ) . total_cmp( & -f128:: MIN_POSITIVE ) ) ;
315- // assert_eq!(Ordering::Equal, (-max_subnorm()).total_cmp(&-max_subnorm()));
316- // assert_eq!(Ordering::Equal, (-min_subnorm()).total_cmp(&-min_subnorm()));
317- assert_eq ! ( Ordering :: Equal , ( -0.0_f128 ) . total_cmp( & -0.0 ) ) ;
318- assert_eq ! ( Ordering :: Equal , 0.0_f128 . total_cmp( & 0.0 ) ) ;
319- // assert_eq!(Ordering::Equal, min_subnorm().total_cmp(&min_subnorm()));
320- // assert_eq!(Ordering::Equal, max_subnorm().total_cmp(&max_subnorm()));
321- assert_eq ! ( Ordering :: Equal , f128:: MIN_POSITIVE . total_cmp( & f128:: MIN_POSITIVE ) ) ;
322- assert_eq ! ( Ordering :: Equal , 0.5_f128 . total_cmp( & 0.5 ) ) ;
323- assert_eq ! ( Ordering :: Equal , 1.0_f128 . total_cmp( & 1.0 ) ) ;
324- assert_eq ! ( Ordering :: Equal , 1.5_f128 . total_cmp( & 1.5 ) ) ;
325- assert_eq ! ( Ordering :: Equal , 2.5_f128 . total_cmp( & 2.5 ) ) ;
326- assert_eq ! ( Ordering :: Equal , f128:: MAX . total_cmp( & f128:: MAX ) ) ;
327- assert_eq ! ( Ordering :: Equal , f128:: INFINITY . total_cmp( & f128:: INFINITY ) ) ;
328- assert_eq ! ( Ordering :: Equal , s_nan( ) . total_cmp( & s_nan( ) ) ) ;
329- assert_eq ! ( Ordering :: Equal , q_nan( ) . total_cmp( & q_nan( ) ) ) ;
330-
331- assert_eq ! ( Ordering :: Less , ( -q_nan( ) ) . total_cmp( & -s_nan( ) ) ) ;
332- assert_eq ! ( Ordering :: Less , ( -s_nan( ) ) . total_cmp( & -f128:: INFINITY ) ) ;
333- assert_eq ! ( Ordering :: Less , ( -f128:: INFINITY ) . total_cmp( & -f128:: MAX ) ) ;
334- assert_eq ! ( Ordering :: Less , ( -f128:: MAX ) . total_cmp( & -2.5 ) ) ;
335- assert_eq ! ( Ordering :: Less , ( -2.5_f128 ) . total_cmp( & -1.5 ) ) ;
336- assert_eq ! ( Ordering :: Less , ( -1.5_f128 ) . total_cmp( & -1.0 ) ) ;
337- assert_eq ! ( Ordering :: Less , ( -1.0_f128 ) . total_cmp( & -0.5 ) ) ;
338- assert_eq ! ( Ordering :: Less , ( -0.5_f128 ) . total_cmp( & -f128:: MIN_POSITIVE ) ) ;
339- // assert_eq!(Ordering::Less, (-f128::MIN_POSITIVE).total_cmp(&-max_subnorm()));
340- // assert_eq!(Ordering::Less, (-max_subnorm()).total_cmp(&-min_subnorm()));
341- // assert_eq!(Ordering::Less, (-min_subnorm()).total_cmp(&-0.0));
342- assert_eq ! ( Ordering :: Less , ( -0.0_f128 ) . total_cmp( & 0.0 ) ) ;
343- // assert_eq!(Ordering::Less, 0.0_f128.total_cmp(&min_subnorm()));
344- // assert_eq!(Ordering::Less, min_subnorm().total_cmp(&max_subnorm()));
345- // assert_eq!(Ordering::Less, max_subnorm().total_cmp(&f128::MIN_POSITIVE));
346- assert_eq ! ( Ordering :: Less , f128:: MIN_POSITIVE . total_cmp( & 0.5 ) ) ;
347- assert_eq ! ( Ordering :: Less , 0.5_f128 . total_cmp( & 1.0 ) ) ;
348- assert_eq ! ( Ordering :: Less , 1.0_f128 . total_cmp( & 1.5 ) ) ;
349- assert_eq ! ( Ordering :: Less , 1.5_f128 . total_cmp( & 2.5 ) ) ;
350- assert_eq ! ( Ordering :: Less , 2.5_f128 . total_cmp( & f128:: MAX ) ) ;
351- assert_eq ! ( Ordering :: Less , f128:: MAX . total_cmp( & f128:: INFINITY ) ) ;
352- assert_eq ! ( Ordering :: Less , f128:: INFINITY . total_cmp( & s_nan( ) ) ) ;
353- assert_eq ! ( Ordering :: Less , s_nan( ) . total_cmp( & q_nan( ) ) ) ;
354-
355- assert_eq ! ( Ordering :: Greater , ( -s_nan( ) ) . total_cmp( & -q_nan( ) ) ) ;
356- assert_eq ! ( Ordering :: Greater , ( -f128:: INFINITY ) . total_cmp( & -s_nan( ) ) ) ;
357- assert_eq ! ( Ordering :: Greater , ( -f128:: MAX ) . total_cmp( & -f128:: INFINITY ) ) ;
358- assert_eq ! ( Ordering :: Greater , ( -2.5_f128 ) . total_cmp( & -f128:: MAX ) ) ;
359- assert_eq ! ( Ordering :: Greater , ( -1.5_f128 ) . total_cmp( & -2.5 ) ) ;
360- assert_eq ! ( Ordering :: Greater , ( -1.0_f128 ) . total_cmp( & -1.5 ) ) ;
361- assert_eq ! ( Ordering :: Greater , ( -0.5_f128 ) . total_cmp( & -1.0 ) ) ;
362- assert_eq ! ( Ordering :: Greater , ( -f128:: MIN_POSITIVE ) . total_cmp( & -0.5 ) ) ;
363- // assert_eq!(Ordering::Greater, (-max_subnorm()).total_cmp(&-f128::MIN_POSITIVE));
364- // assert_eq!(Ordering::Greater, (-min_subnorm()).total_cmp(&-max_subnorm()));
365- // assert_eq!(Ordering::Greater, (-0.0_f128).total_cmp(&-min_subnorm()));
366- assert_eq ! ( Ordering :: Greater , 0.0_f128 . total_cmp( & -0.0 ) ) ;
367- // assert_eq!(Ordering::Greater, min_subnorm().total_cmp(&0.0));
368- // assert_eq!(Ordering::Greater, max_subnorm().total_cmp(&min_subnorm()));
369- // assert_eq!(Ordering::Greater, f128::MIN_POSITIVE.total_cmp(&max_subnorm()));
370- assert_eq ! ( Ordering :: Greater , 0.5_f128 . total_cmp( & f128:: MIN_POSITIVE ) ) ;
371- assert_eq ! ( Ordering :: Greater , 1.0_f128 . total_cmp( & 0.5 ) ) ;
372- assert_eq ! ( Ordering :: Greater , 1.5_f128 . total_cmp( & 1.0 ) ) ;
373- assert_eq ! ( Ordering :: Greater , 2.5_f128 . total_cmp( & 1.5 ) ) ;
374- assert_eq ! ( Ordering :: Greater , f128:: MAX . total_cmp( & 2.5 ) ) ;
375- assert_eq ! ( Ordering :: Greater , f128:: INFINITY . total_cmp( & f128:: MAX ) ) ;
376- assert_eq ! ( Ordering :: Greater , s_nan( ) . total_cmp( & f128:: INFINITY ) ) ;
377- assert_eq ! ( Ordering :: Greater , q_nan( ) . total_cmp( & s_nan( ) ) ) ;
378-
379- assert_eq ! ( Ordering :: Less , ( -q_nan( ) ) . total_cmp( & -s_nan( ) ) ) ;
380- assert_eq ! ( Ordering :: Less , ( -q_nan( ) ) . total_cmp( & -f128:: INFINITY ) ) ;
381- assert_eq ! ( Ordering :: Less , ( -q_nan( ) ) . total_cmp( & -f128:: MAX ) ) ;
382- assert_eq ! ( Ordering :: Less , ( -q_nan( ) ) . total_cmp( & -2.5 ) ) ;
383- assert_eq ! ( Ordering :: Less , ( -q_nan( ) ) . total_cmp( & -1.5 ) ) ;
384- assert_eq ! ( Ordering :: Less , ( -q_nan( ) ) . total_cmp( & -1.0 ) ) ;
385- assert_eq ! ( Ordering :: Less , ( -q_nan( ) ) . total_cmp( & -0.5 ) ) ;
386- assert_eq ! ( Ordering :: Less , ( -q_nan( ) ) . total_cmp( & -f128:: MIN_POSITIVE ) ) ;
387- // assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-max_subnorm()));
388- // assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&-min_subnorm()));
389- assert_eq ! ( Ordering :: Less , ( -q_nan( ) ) . total_cmp( & -0.0 ) ) ;
390- assert_eq ! ( Ordering :: Less , ( -q_nan( ) ) . total_cmp( & 0.0 ) ) ;
391- // assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&min_subnorm()));
392- // assert_eq!(Ordering::Less, (-q_nan()).total_cmp(&max_subnorm()));
393- assert_eq ! ( Ordering :: Less , ( -q_nan( ) ) . total_cmp( & f128:: MIN_POSITIVE ) ) ;
394- assert_eq ! ( Ordering :: Less , ( -q_nan( ) ) . total_cmp( & 0.5 ) ) ;
395- assert_eq ! ( Ordering :: Less , ( -q_nan( ) ) . total_cmp( & 1.0 ) ) ;
396- assert_eq ! ( Ordering :: Less , ( -q_nan( ) ) . total_cmp( & 1.5 ) ) ;
397- assert_eq ! ( Ordering :: Less , ( -q_nan( ) ) . total_cmp( & 2.5 ) ) ;
398- assert_eq ! ( Ordering :: Less , ( -q_nan( ) ) . total_cmp( & f128:: MAX ) ) ;
399- assert_eq ! ( Ordering :: Less , ( -q_nan( ) ) . total_cmp( & f128:: INFINITY ) ) ;
400- assert_eq ! ( Ordering :: Less , ( -q_nan( ) ) . total_cmp( & s_nan( ) ) ) ;
401-
402- assert_eq ! ( Ordering :: Less , ( -s_nan( ) ) . total_cmp( & -f128:: INFINITY ) ) ;
403- assert_eq ! ( Ordering :: Less , ( -s_nan( ) ) . total_cmp( & -f128:: MAX ) ) ;
404- assert_eq ! ( Ordering :: Less , ( -s_nan( ) ) . total_cmp( & -2.5 ) ) ;
405- assert_eq ! ( Ordering :: Less , ( -s_nan( ) ) . total_cmp( & -1.5 ) ) ;
406- assert_eq ! ( Ordering :: Less , ( -s_nan( ) ) . total_cmp( & -1.0 ) ) ;
407- assert_eq ! ( Ordering :: Less , ( -s_nan( ) ) . total_cmp( & -0.5 ) ) ;
408- assert_eq ! ( Ordering :: Less , ( -s_nan( ) ) . total_cmp( & -f128:: MIN_POSITIVE ) ) ;
409- // assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-max_subnorm()));
410- // assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&-min_subnorm()));
411- assert_eq ! ( Ordering :: Less , ( -s_nan( ) ) . total_cmp( & -0.0 ) ) ;
412- assert_eq ! ( Ordering :: Less , ( -s_nan( ) ) . total_cmp( & 0.0 ) ) ;
413- // assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&min_subnorm()));
414- // assert_eq!(Ordering::Less, (-s_nan()).total_cmp(&max_subnorm()));
415- assert_eq ! ( Ordering :: Less , ( -s_nan( ) ) . total_cmp( & f128:: MIN_POSITIVE ) ) ;
416- assert_eq ! ( Ordering :: Less , ( -s_nan( ) ) . total_cmp( & 0.5 ) ) ;
417- assert_eq ! ( Ordering :: Less , ( -s_nan( ) ) . total_cmp( & 1.0 ) ) ;
418- assert_eq ! ( Ordering :: Less , ( -s_nan( ) ) . total_cmp( & 1.5 ) ) ;
419- assert_eq ! ( Ordering :: Less , ( -s_nan( ) ) . total_cmp( & 2.5 ) ) ;
420- assert_eq ! ( Ordering :: Less , ( -s_nan( ) ) . total_cmp( & f128:: MAX ) ) ;
421- assert_eq ! ( Ordering :: Less , ( -s_nan( ) ) . total_cmp( & f128:: INFINITY ) ) ;
422- assert_eq ! ( Ordering :: Less , ( -s_nan( ) ) . total_cmp( & s_nan( ) ) ) ;
423- }
424-
425135#[ test]
426136fn test_algebraic ( ) {
427137 let a: f128 = 123.0 ;
0 commit comments