Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
path: root/projects/SelfTest/ToStringVector.cpp
diff options
context:
space:
mode:
authorPfiffikus2017-10-26 09:19:57 +0200
committerMartin Hořeňovský2017-10-31 15:43:42 +0100
commit00af677577973758b3b35e1c94ab4142c45c3f67 (patch)
tree041773bd088375ccc40e08076ed3ba579e8ca93b /projects/SelfTest/ToStringVector.cpp
parentae21020640e6137acac027177d86c08083225dc1 (diff)
downloadcatch3-00af677577973758b3b35e1c94ab4142c45c3f67.tar.gz
Approx rework: default scale == 0, epsilon applies to Approx::value
Also adds check to Approx::epsilon that the new epsilon has a valid (ie one between 0 and 1) Based on http://realtimecollisiondetection.net/blog/?p=89 https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html https://en.wikipedia.org/wiki/Approximation_error#Formal_Definition The given epsilon should refer to the target value, otherwise the result would be unexpected, e.g. 101.02 == Approx(100).epsilon(0.01) is true. The default scale should be invisible, thus, e.g. 101.01 == Approx(100).epsilon(0.01) gets false. Finally even 101.000001 == Approx(100).epsilon(0.01) is false
Diffstat (limited to 'projects/SelfTest/ToStringVector.cpp')
0 files changed, 0 insertions, 0 deletions