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