
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Mathias Gaunard Sent: Tuesday, June 14, 2011 10:46 PM To: boost@lists.boost.org Subject: Re: [boost] MS VC10 std::numeric_limits<float>::max_digits10 iswrong for float
On 12/06/2011 17:38, Paul A. Bristow wrote:
or we have to stick to the Kahan formula for yet another year :-( (Reluctantly, I'm coming to be view that the latter is the easiest thing to do, since there are so many compilers/libraries to deal with, making config a rats nest.)
Exactly what are the advantages of not doing so?
Using the constant numeric_limits<FPT>::max_digits10 is absolutely clear to the reader, and may be more efficient. Using the Kahan formula is obscure to the non-cognoscenti, and may not be compiled so efficiently. Defining yet another Boost macro in config files is quite a bit of trouble, carries some risk of a mistake. Using a Boost macro that tests for a C++0X library and uses Kahan formula if not, is messy, but at least the meaning of the code is clear because the C++0X path specifies max_digits10. The bottom line is that digits10 was never what most people want and should have been max_digits10 to start with :-) The line of least effort is to wait for MS to correct the value. Paul --- Paul A. Bristow, Prizet Farmhouse, Kendal LA8 8AB UK +44 1539 561830 07714330204 pbristow@hetp.u-net.com