16 #ifndef OPENKALMAN_VALUES_TESTS_HPP 17 #define OPENKALMAN_VALUES_TESTS_HPP 36 template<values::value Arg1, values::value Arg2, values::value Err>
37 struct TestComparison<Arg1, Arg2, Err>
39 template<typename Arg1, typename Arg2, typename Err>
41 values::value<Arg1> and values::value<Arg2> and values::value<Err>>>
43 : ::testing::AssertionResult
47 template<
typename Arg>
48 static auto print(Arg&& arg)
50 if constexpr (values::complex<Arg>)
56 return std::forward<Arg>(arg);
61 static ::testing::AssertionResult
62 compare(
const Arg1& arg1,
const Arg2& arg2,
const Err& err)
65 return ::testing::AssertionSuccess();
74 : ::testing::AssertionResult {
compare(arg1, arg2, err)} {}
constexpr auto compare(const A &a, const B &b)
Compare two coordinates::pattern objects lexicographically.
Definition: compare.hpp:40
Definition for values::to_value_type.
decltype(auto) constexpr to_value_type(Arg &&arg)
Convert, if necessary, a fixed or dynamic value to its underlying base type.
Definition: to_value_type.hpp:28
constexpr auto imag(const Arg &arg)
A constexpr function to obtain the imaginary part of a (complex) number.
Definition: imag.hpp:40
Definition for values::imag.
constexpr auto near(const Arg1 &arg1, const Arg2 &arg2)
Determine whether two numbers are within a rounding tolerance.
Definition: near.hpp:46
constexpr auto real(const Arg &arg)
A constexpr function to obtain the real part of a (complex) number.
Definition: real.hpp:40
Basic definitions for OpenKalman as a whole.
Definition for values::real.
Definition for values::complex.
Definition for values::value.