Revision 587eabfa
b/fpu/softfloat.h | ||
---|---|---|
449 | 449 |
return ((float64_val(a) & ~(1ULL << 63)) > 0x7ff0000000000000ULL); |
450 | 450 |
} |
451 | 451 |
|
452 |
INLINE int float64_is_zero_or_denormal(float64 a) |
|
453 |
{ |
|
454 |
return (float64_val(a) & 0x7ff0000000000000LL) == 0; |
|
455 |
} |
|
456 |
|
|
452 | 457 |
INLINE float64 float64_set_sign(float64 a, int sign) |
453 | 458 |
{ |
454 | 459 |
return make_float64((float64_val(a) & 0x7fffffffffffffffULL) |
... | ... | |
538 | 543 |
return (a.high & 0x7fff) == 0 && a.low == 0; |
539 | 544 |
} |
540 | 545 |
|
546 |
INLINE int floatx80_is_zero_or_denormal(floatx80 a) |
|
547 |
{ |
|
548 |
return (a.high & 0x7fff) == 0; |
|
549 |
} |
|
550 |
|
|
541 | 551 |
INLINE int floatx80_is_any_nan(floatx80 a) |
542 | 552 |
{ |
543 | 553 |
return ((a.high & 0x7fff) == 0x7fff) && (a.low<<1); |
... | ... | |
626 | 636 |
return (a.high & 0x7fffffffffffffffLL) == 0 && a.low == 0; |
627 | 637 |
} |
628 | 638 |
|
639 |
INLINE int float128_is_zero_or_denormal(float128 a) |
|
640 |
{ |
|
641 |
return (a.high & 0x7fff000000000000LL) == 0; |
|
642 |
} |
|
643 |
|
|
629 | 644 |
INLINE int float128_is_any_nan(float128 a) |
630 | 645 |
{ |
631 | 646 |
return ((a.high >> 48) & 0x7fff) == 0x7fff && |
Also available in: Unified diff