Boost logo

Boost :

Subject: Re: [boost] MS VC10 std::numeric_limits<float>::max_digits10 iswrong for float
From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2011-06-15 04:28:43


> -----Original Message-----
> From: boost-bounces_at_[hidden] [mailto:boost-bounces_at_[hidden]] On Behalf Of Mathias
> Gaunard
> Sent: Tuesday, June 14, 2011 10:46 PM
> To: boost_at_[hidden]
> 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_at_[hidden]

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk