|
Boost : |
From: Gero Peterhoff (g.peterhoff_at_[hidden])
Date: 2022-02-07 19:18:44
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).
2) The types __float128, __extension__ __float128 (gcc) and _Quad (intel) are identical, but there are different definitions in boost/config/detail/suffix.hpp and boost/math/cstdfloat/cstdfloat_types.hpp.
I think it would make sense to have just one definition or is there a reason why it was done that way? If yes, which one is it?
You could always use __float128 directly and/or adjust boost/config/detail/suffix.hpp so that it also works with clang/intel.
Which way would be better?
I would like to help consolidate this but without having to deal with different typedef's or long #define's.
thx
Gero
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk