8#include "ttauri/polynomial.hpp"
9#include <gtest/gtest.h>
13template<
typename T,
typename U,
int N>
15 if (lhs.count != rhs.count) {
20 assert(lhs.count <= lhs.maxCount);
21 for (ptrdiff_t i = 0; i < lhs.count; i++) {
22 ttlet diff = std::abs(lhs.value[i] - rhs.value[i]);
28template<
typename T,
typename U,
int N>
29testing::AssertionResult ResultsNearPredFormat(
const char* expr1,
31 const char* abs_error_expr,
35 ttlet diff = maxAbsDiff(val1, val2);
36 if (diff <= abs_error)
return testing::AssertionSuccess();
38 return testing::AssertionFailure()
39 <<
"The difference between " << expr1 <<
" and " << expr2
40 <<
" is " << diff <<
", which exceeds " << abs_error_expr <<
", where\n"
41 << expr1 <<
" evaluates to " << val1 <<
",\n"
42 << expr2 <<
" evaluates to " << val2 <<
", and\n"
43 << abs_error_expr <<
" evaluates to " << abs_error <<
".";
46#define ASSERT_RESULTS_NEAR(val1, val2, abs_error)\
47 ASSERT_PRED_FORMAT3(ResultsNearPredFormat, val1, val2, abs_error)
49#define ASSERT_RESULTS(val1, val2) ASSERT_RESULTS_NEAR(val1, val2, 0.000001)
Definition polynomial.hpp:14