On 01/24/2018 05:13 AM, Alex Bennée wrote:
> +    if (a.cls >= float_class_qnan
> +        ||
> +        b.cls >= float_class_qnan)
> +    {
> +        if (ieee) {
> +            /* Takes two floating-point values `a' and `b', one of
> +             * which is a NaN, and returns the appropriate NaN
> +             * result. If either `a' or `b' is a signaling NaN,
> +             * the invalid exception is raised.
> +             */
> +            if (a.cls == float_class_snan || b.cls == float_class_snan) {
> +                return pick_nan_parts(a, b, s);
> +            } else if (a.cls >= float_class_qnan
> +                       &&
> +                       b.cls < float_class_qnan) {
> +                return b;
> +            } else if (b.cls >= float_class_qnan
> +                       &&
> +                       a.cls < float_class_qnan) {
> +                return a;
> +            }
> +        }

is_nan.


r~

Reply via email to