From 8adf59d7620616f435cbe37907a5eec3faba9712 Mon Sep 17 00:00:00 2001 From: Joao Paulo Magalhaes Date: Fri, 28 Apr 2017 20:40:21 +0100 Subject: [PATCH] Add epsilon check macros for float comparison. --- src/check.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/check.h b/src/check.h index 6f1fe0cf..86383596 100644 --- a/src/check.h +++ b/src/check.h @@ -3,6 +3,7 @@ #include #include +#include #include "internal_macros.h" #include "log.h" @@ -68,4 +69,11 @@ class CheckHandler { #define CHECK_GT(a, b) CHECK((a) > (b)) #define CHECK_LT(a, b) CHECK((a) < (b)) +#define CHECK_EQ_EPS(a, b, eps) CHECK(std::fabs((a) - (b)) < eps) +#define CHECK_NE_EPS(a, b, eps) CHECK(std::fabs((a) - (b)) >= eps) +#define CHECK_GE_EPS(a, b, eps) CHECK((a) - (b) > -eps) +#define CHECK_LE_EPS(a, b, eps) CHECK((b) - (a) > -eps) +#define CHECK_GT_EPS(a, b, eps) CHECK((a) - (b) > eps) +#define CHECK_LT_EPS(a, b, eps) CHECK((b) - (a) > eps) + #endif // CHECK_H_