diff options
author | Robert Helling <helling@atdotde.de> | 2014-01-22 09:04:04 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-01-22 08:30:08 -0800 |
commit | b6a30dcdd3225e67e7eed7ead68c919c36243ffc (patch) | |
tree | 58111b787cb2eb8a3a4bce10dd662b0b0b401510 /dive.h | |
parent | a566dbdaf76f6e1e7df35d75dc21b39b7968a9da (diff) | |
download | subsurface-b6a30dcdd3225e67e7eed7ead68c919c36243ffc.tar.gz |
Improve floating point equality test
This allows for a relative error rather than an absolute (which would set
an artificial scale). This basically says “we trust our data (which comes
from the dive computer’s measurement after all) to a certain number of
significant digits” rather than “we will never encounter anything smaller
than 1 / a million but not zero” which would be awfully unit dependent.
Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'dive.h')
-rw-r--r-- | dive.h | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -20,7 +20,7 @@ (void) (&_max1 == &_max2); \ _max1 > _max2 ? _max1 : _max2; }) -#define IS_FP_SAME(_a,_b) (abs((_a) - (_b)) < 0.000001) +#define IS_FP_SAME(_a,_b) (abs((_a) - (_b)) < 0.000001 * MAX(abs(_a), abs(_b))) #include <libxml/tree.h> #include <libxslt/transform.h> |