|
Boost Users : |
Subject: [Boost-users] [Boost.UTF] Strange (failed) result on comparing floats
From: Olaf Peter (ope-devel_at_[hidden])
Date: 2010-03-31 10:03:17
Hi,
I'm checking some data of consistence using boost's unit test framework
(1.42):
BOOST_CHECK_CLOSE( *v[1].y.max, -43.0e-3,
std::numeric_limits<double>::epsilon() );
which fails with:
difference{1.6137e-14%} between *v[1].y.max{-0.043000000000000003} and
-43.0e-3{-0.042999999999999997} exceeds 2.2204460492503131e-16%
where v is a std::vector,y a struct and max a boost::optional<double>.
The data where parsed by boost.spirit. This is the only failed test case
from 16 parsed doubles. What's gone wrong here? Do I miss something?
Thanks,
Olaf
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net