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