qemu/fpu/softfloat-specialize.h
/*----------------------------------------------------------------------------
| Returns 1 if the extended double-precision floating-point value `a' is a
| signaling NaN; otherwise returns 0. This slightly differs from the same
| function for other types as floatx80 has an explicit bit.
*----------------------------------------------------------------------------*/
| Returns 1 if the extended double-precision floating-point value `a' is a
| signaling NaN; otherwise returns 0. This slightly differs from the same
| function for other types as floatx80 has an explicit bit.
| Returns 1 if the extended double - precision floating - point value ` a ' is a | signaling NaN ; otherwise returns 0 . This slightly differs from the same | function for other types as floatx80 has an explicit bit .
int floatx80_is_signaling_nan(floatx80 a, float_status *status)
{
#ifdef NO_SIGNALING_NANS
    return 0;
#else
    if (snan_bit_is_one(status)) {
        return ((a.high & 0x7FFF) == 0x7FFF)
            && ((a.low << 1) >= 0x8000000000000000ULL);
    } else {
        uint64_t aLow;
        aLow = a.low & ~LIT64(0x4000000000000000);
        return ((a.high & 0x7FFF) == 0x7FFF)
            && (uint64_t)(aLow << 1)
            && (a.low == aLow);
    }
#endif
}
int floatx80_is_signaling_nan ( floatx80 a , float_status * status ) { #ifdef NO_SIGNALING_NANS return 0 ; #else if ( snan_bit_is_one ( status ) ) { return ( ( a . high & 0x7FFF ) == 0x7FFF ) && ( ( a . low << 1 ) >= 0x8000000000000000ULL ) ; } else { uint64_t aLow ; aLow = a . low & ~ LIT64 ( 0x4000000000000000 ) ; return ( ( a . high & 0x7FFF ) == 0x7FFF ) && ( uint64_t ) ( aLow << 1 ) && ( a . low == aLow ) ; } #endif }
| Returns 1 if the extended double-precision floating-point value `a' is a
| signaling NaN; otherwise returns 0.
| Returns 1 if the extended double - precision floating - point value ` a ' is a | signaling NaN ; otherwise returns 0 .