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

◆ operator== [2/2]

bool operator== ( double lhs,
const Approx & rhs )
friend

Definition at line 431 of file fltest.h.

431 {
432 double diff = lhs - rhs.mValue;
433 if (diff < 0) diff = -diff;
434
435 // Check absolute margin first (if set)
436 if (rhs.mMargin > 0.0 && diff <= rhs.mMargin) {
437 return true;
438 }
439
440 // Check relative epsilon
441 double lhsAbs = lhs < 0 ? -lhs : lhs;
442 double rhsAbs = rhs.mValue < 0 ? -rhs.mValue : rhs.mValue;
443 double maxAbs = lhsAbs > rhsAbs ? lhsAbs : rhsAbs;
444 double relativeMargin = rhs.mEpsilon * (rhs.mScale + maxAbs);
445 return diff <= relativeMargin;
446 }

References Approx(), and FL_NOEXCEPT.