
Am 13.03.23 um 13:33 schrieb John Maddock via Boost:
On 13/03/2023 02:43, Gero Peterhoff via Boost wrote:
Hello, * problem description In boost::math::cstdfloat AND boost::multiprecision::float128 identical functions for __float128 (quadmath) are provided.
This is unnecessary overhead. I think it would make sense to "pull out" the quadmath library as a distinct library. I did this once canonically, but it doesn't work yet because boost::math::cstdfloat/boost::multiprecision::float128 have to be adapted for this. This is a prototype where there is still a lot of work to be done. But the beginning is done. If you mean https://github.com/boostorg/multiprecision/blob/develop/include/boost/multip... then it's a trivially small header, and spinning stuff out into a separate library has a significant maintenance overhead.
I mean this canonically. Advantages: - For both compilers (gcc/intel) the functions/limits can be provided directly, without the mass #define/#undef function-macros. - Clean separation and/or Konsolidierugn of the __float128 types: a) gcc: __float128 b) intel: Windows _Qaud -> __float128, !Windows -> __float128 (https://community.intel.com/t5/Intel-C-Compiler/C-Compiler-128-bit-floating-...) So there is only one type __float128. - Clean/mature standard functions can be provided for IO. Disadvantages: - One-time(!) effort to update dependent libs. Gero
participants (1)
-
Gero Peterhoff