Andrej van der Zee wrote:
Hi,
I was wondering if boost provides any support for testing equality of two doubles.
You could take a look at the "close_at_tolerance" class in boost/test/floating_point_comparison.hpp, but I'm not sure it's all that easy to use: the tolerance has to be specified in percentage points. The current SVN trunk (and Boost-1.35 when it's released) also has this function: http://svn.boost.org/svn/boost/trunk/libs/math/doc/sf_and_dist/html/math_too... for computing the relative difference between two floating point values.
I am using a lot of arithmetic expressions on floating-point values and also need to test for equality. Also, at compile-time I do not know the precession so comparing within the range of an epsilon seems impossible.
Well you're going to have to define an acceptable tolerance for the definition of "equal", as no library can do that for you. What do you need this for? Testing for equality in mathematical routines is IMO extremely rare, if you're testing the result of calculations then you might want to take a look at how the special functions test cases handle this in the Boost.Math library (again current Trunk and next release only). HTH, John.