Revision de4af5f7
b/fpu/softfloat-specialize.h | ||
---|---|---|
468 | 468 |
|
469 | 469 |
/*---------------------------------------------------------------------------- |
470 | 470 |
| Returns 1 if the extended double-precision floating-point value `a' is a |
471 |
| quiet NaN; otherwise returns 0. |
|
471 |
| quiet NaN; otherwise returns 0. This slightly differs from the same |
|
472 |
| function for other types as floatx80 has an explicit bit. |
|
472 | 473 |
*----------------------------------------------------------------------------*/ |
473 | 474 |
|
474 | 475 |
int floatx80_is_quiet_nan( floatx80 a ) |
... | ... | |
482 | 483 |
&& (bits64) ( aLow<<1 ) |
483 | 484 |
&& ( a.low == aLow ); |
484 | 485 |
#else |
485 |
return ( ( a.high & 0x7FFF ) == 0x7FFF ) && (bits64) ( a.low<<1 ); |
|
486 |
return ( ( a.high & 0x7FFF ) == 0x7FFF ) |
|
487 |
&& (LIT64( 0x8000000000000000 ) <= ((bits64) ( a.low<<1 ))); |
|
486 | 488 |
#endif |
487 | 489 |
} |
488 | 490 |
|
489 | 491 |
/*---------------------------------------------------------------------------- |
490 | 492 |
| Returns 1 if the extended double-precision floating-point value `a' is a |
491 |
| signaling NaN; otherwise returns 0. |
|
493 |
| signaling NaN; otherwise returns 0. This slightly differs from the same |
|
494 |
| function for other types as floatx80 has an explicit bit. |
|
492 | 495 |
*----------------------------------------------------------------------------*/ |
493 | 496 |
|
494 | 497 |
int floatx80_is_signaling_nan( floatx80 a ) |
495 | 498 |
{ |
496 | 499 |
#if SNAN_BIT_IS_ONE |
497 |
return ( ( a.high & 0x7FFF ) == 0x7FFF ) && (bits64) ( a.low<<1 ); |
|
500 |
return ( ( a.high & 0x7FFF ) == 0x7FFF ) |
|
501 |
&& (LIT64( 0x8000000000000000 ) <= ((bits64) ( a.low<<1 ))); |
|
498 | 502 |
#else |
499 | 503 |
bits64 aLow; |
500 | 504 |
|
Also available in: Unified diff