@@ -15,21 +15,6 @@ const TOL: f128 = 1e-12;
15
15
/// signs.
16
16
const TOL_PRECISE : f128 = 1e-28 ;
17
17
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
-
33
18
/// First pattern over the mantissa
34
19
const NAN_MASK1 : u128 = 0x0000aaaaaaaaaaaaaaaaaaaaaaaaaaaa ;
35
20
@@ -39,106 +24,6 @@ const NAN_MASK2: u128 = 0x00005555555555555555555555555555;
39
24
// FIXME(f16_f128,miri): many of these have to be disabled since miri does not yet support
40
25
// the intrinsics.
41
26
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
-
142
27
#[ test]
143
28
#[ cfg( not( miri) ) ]
144
29
#[ cfg( target_has_reliable_f128_math) ]
@@ -193,19 +78,6 @@ fn test_powi() {
193
78
assert_biteq ! ( neg_inf. powi( 2 ) , inf) ;
194
79
}
195
80
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
-
209
81
#[ test]
210
82
fn test_to_degrees ( ) {
211
83
let pi: f128 = consts:: PI ;
@@ -260,168 +132,6 @@ fn test_float_bits_conv() {
260
132
assert_eq ! ( f128:: from_bits( masked_nan2) . to_bits( ) , masked_nan2) ;
261
133
}
262
134
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
-
425
135
#[ test]
426
136
fn test_algebraic ( ) {
427
137
let a: f128 = 123.0 ;
0 commit comments