FastLED 3.9.15
Loading...
Searching...
No Matches

◆ FL_REQUIRE_CLOSE

#define FL_REQUIRE_CLOSE ( a,
b,
epsilon )
Value:
do { \
auto _fl_a = (a); \
auto _fl_b = (b); \
auto _fl_diff = _fl_a - _fl_b; \
if (_fl_diff < 0) _fl_diff = -_fl_diff; \
bool _fl_result = _fl_diff <= (epsilon); \
fl::test::AssertResult ar(_fl_result); \
ar.mLocation = fl::test::SourceLocation(__FILE__, __LINE__); \
fl::sstream ss; \
ss << #a << " ~= " << #b << " (eps=" << (epsilon) << ")"; \
ar.mExpression = ss.str(); \
if (!_fl_result) { \
fl::sstream ess; \
ess << _fl_a << " ~= " << _fl_b << " (diff=" << _fl_diff << ")"; \
ar.mExpanded = ess.str(); \
fl::test::TestContext::instance().reportAssert(ar); \
return; \
} \
fl::test::TestContext::instance().reportAssert(ar); \
} while (0)
Base definition for an LED controller.
Definition crgb.hpp:179

Definition at line 1103 of file fltest.h.

1103#define FL_REQUIRE_CLOSE(a, b, epsilon) \
1104 do { \
1105 auto _fl_a = (a); \
1106 auto _fl_b = (b); \
1107 auto _fl_diff = _fl_a - _fl_b; \
1108 if (_fl_diff < 0) _fl_diff = -_fl_diff; \
1109 bool _fl_result = _fl_diff <= (epsilon); \
1110 fl::test::AssertResult ar(_fl_result); \
1111 ar.mLocation = fl::test::SourceLocation(__FILE__, __LINE__); \
1112 fl::sstream ss; \
1113 ss << #a << " ~= " << #b << " (eps=" << (epsilon) << ")"; \
1114 ar.mExpression = ss.str(); \
1115 if (!_fl_result) { \
1116 fl::sstream ess; \
1117 ess << _fl_a << " ~= " << _fl_b << " (diff=" << _fl_diff << ")"; \
1118 ar.mExpanded = ess.str(); \
1119 fl::test::TestContext::instance().reportAssert(ar); \
1120 return; \
1121 } \
1122 fl::test::TestContext::instance().reportAssert(ar); \
1123 } while (0)