|
Boost : |
From: Gero Peterhoff (g.peterhoff_at_[hidden])
Date: 2022-02-16 15:30:08
Am 11.02.22 um 19:24 schrieb John Maddock via Boost:
> On 10/02/2022 22:18, Gero Peterhoff via Boost wrote:
>> Am 10.02.22 um 14:07 schrieb John Maddock via Boost:
>>> On 07/02/2022 19:18, Gero Peterhoff via Boost wrote:
>>>> Hello,
>>>> please see https://godbolt.org/z/Ksshxvhaj
>>>>
>>>> 1) std::numeric_limits<__float128>::signaling_NaN always returns 0 but gcc-__builtin_nansq doesn't. I think __builtin_nansq is correct as it is also distinct from std::numeric_limits<__float128>::quiet_NaN (__builtin_nanq).
>>> Can you submit a PR please? We would probably need to check for the presence of the intrinsic with __has_intrinsic as I don't *think* it's always been available?
>> Hi John,
>> I can't think of anything besides the sledgehammer method (cast) either, assuming the value of gcc __builtin_nansq is universal.
>
> I'm not sure it's actually supported at all, I see:
>
> undefined reference to `nansq'
>
> whenever I try to use the builtin, the function nansq appears not to currently exist at all in libquadmath, and isn't declared in current quadmath.h. A quick google yields no hits as well.
>
> I wonder if this is still work in progress for gcc?
>
> Does anyone have a (non-theoretical) use case for signalling quad-precision NaN's? And or a working test case?
>
> Thanks, John.
>
>
Hi John,
regarding mail from just now; there's another bug in there (qnanf128 doesn't clear sign_bit); correct
https://godbolt.org/z/9K1eKan6Y
Gero
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk