|
Boost : |
From: Paul A. Bristow (boost_at_[hidden])
Date: 2002-10-07 04:25:20
> [mailto:boost-bounces_at_[hidden]]On Behalf Of Guillaume Melquiond
>
> I would just like to say that your paragraph 'Should calculations be
> exactly the same on all compilers and platforms?' is a bit wrong. Indeed,
> using the precision bits of the control word of the x86 to ensure the
> extended double precision format isn't used is only a partial solution,
> because these bits reduce the precision of the mantissa, but not the
> precision of the exponent. So the only complete solution is to force the
> intermediate results in memory (it's the method used by the Interval
> library).
>
> Guillaume
I will defer to your expertise in this matter (my information comes from Victor
Shoup's NTL web page).
I suspect you are right that forcing into memory will give more consistent
results,
but only if you use the difference precision (range?) of the exponent? Is this
not much more unlikely than using the mantissa/significand fully? And doesn't
the 'intermediate results in memory' solution run significantly slower?
And of course, there are the inherent differences between hardware floating
point formats provided by different processors which may never be
circumnavigated.
So perhaps the most important message is that this area is not simple! I have
tried to reduce users expectations of full portability and/or full speed.
Dr Paul A Bristow, hetp Chromatography
Prizet Farmhouse, Kendal, Cumbria, LA8 8AB UK
+44 1539 561830 Mobile +44 7714 33 02 04
mailto: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