Boost logo

Boost :

From: Paul A Bristow (pbristow_at_[hidden])
Date: 2006-02-11 14:11:44


 

| -----Original Message-----
| From: boost-bounces_at_[hidden]
| [mailto:boost-bounces_at_[hidden]] On Behalf Of John Maddock
| Sent: 11 February 2006 18:01
| To: boost_at_[hidden]
| Subject: Re: [boost] Using BOOST_ASSERT to check
| numeric_limits<FPT>::epsilon
|
| Yep. I don't think you'll ever find a value of
| numeric_limits<>::epsilon() <= 0

If not specialized or not done sensibly, it would be 0 (as if NOT
specialized),
I thought it might be zero on Darwin.

| BTW, it's a very small positive value very close to zero on Darwin.

epsilon() = 4.94065645841246544176568792868221e-324

== denorm_min() = 4.94065645841246544176568792868221e-324

I don't think that is helpful/useful.

It certainly needs a lot of justification and documentation.

I think it should be based on bits used in significand.

| BTW I added a useful little helper program to Boost.Config (called
| math_info) that prints out this kind of information - see
| http://engineering.meta-comm.com/boost-regression/CVS-HEAD/dev
| eloper/output/dmcgrath-bin-boost-status-math_info-test-gcc-4_0
| -darwin-debug.html
| for the Darwin results.

Nice - though Firefox would not print it :-((

| As well as checking numeric_limits, it also looks for a
| couple of other
| gotchas I've fallen into:

Hmmm. Not sure I'd rather not have long double at all than have it half
done.

Thanks.

Paul


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