| 7899 | } |
| 7900 | |
| 7901 | bool Approx::equalityComparisonImpl(const double other) const { |
| 7902 | // First try with fixed margin, then compute margin based on epsilon, scale and Approx's value |
| 7903 | // Thanks to Richard Harris for his help refining the scaled margin value |
| 7904 | return marginComparison(m_value, other, m_margin) |
| 7905 | || marginComparison(m_value, other, m_epsilon * (m_scale + std::fabs(std::isinf(m_value)? 0 : m_value))); |
| 7906 | } |
| 7907 | |
| 7908 | void Approx::setMargin(double newMargin) { |
| 7909 | CATCH_ENFORCE(newMargin >= 0, |
no test coverage detected