|
Boost : |
Subject: Re: [boost] [math] Support for libquadmath/ __float128
From: Christopher Kormanyos (e_float_at_[hidden])
Date: 2013-02-23 13:23:45
>> If we can get a consensus on support for GCC's libquadmath
>> in Boost.Multiprecision, I would volunteer to write the backend
>> for it. But I need a few months before I get that kind
>> of time slot for writing, testing, etc. I wonder what John and Paul
>> think about adding support for this. I'm skeptical because the
>> type really only works with one compiler, and then you
>> need to --enable-quadmath when building GCC in order
>> to get it. It's a nightmare!
> I think this is really the issue - figuring out when to enable support for
> this feature.
> BTW, I can see a genuine use case for constexpr 128-bit float constants even
> if the right way to handle __float128 is to wrap it in the Multiprecision
> lib. I wonder are there any predefined macros we can use like
> __SIZEOF_INT128__ is for __int128?
> John.
I agree, of course. It guarantees compile-time const-ness.
In C++11, I use something like this:
template<typename built_in_float_type>
built_in_float_type const_pi()
{
// This is a true compile-time constant.
return built_in_float_type(3.14159265358979323846264338327950288419716939937511);
}
I do not use any suffixes on the literal number.
But you really need C++11 for this.
And then you need to differentiate it from the
multiprecision constants, which still might force the
creation of template specializations. Quite honestly,
I can never really sort it all out, but I suppose it's
possible to do so.
Has anyone suggested "long long double" for C++17?
Sincerely, Chris.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk