22 Sep
2005
22 Sep
'05
2:26 p.m.
BOOST_CHECK_CLOSE algorithm involves division (it compared relative distance with tolerance). |a-b|/|a| will always produce 0 for integral types. Which is less then any tolerance you could specify.
But we're comparing it to a 0-100 percentage number, so why can't we just multiply before the division?
I chose to divide percent tolerance by 100 (multiplication would lead to overflow issues). BOOST_CHECK_CLOSE doesn't really fit for integral type closeness check. You could use BOOST_CHECK_SMALL instead. Gennadiy