8#include <gtest/gtest.h>
10namespace hi {
inline namespace v1 {
namespace detail {
13template<
typename T, std::
size_t N>
14::testing::AssertionResult
15CmpHelperEQ(
const char *lhs_expression,
const char *rhs_expression, ::hi::simd<T, N>
const& lhs, ::hi::simd<T, N>
const& rhs)
17 if (
equal(lhs, rhs)) {
18 return ::testing::AssertionSuccess();
21 return ::testing::internal::CmpHelperEQFailure(lhs_expression, rhs_expression, lhs, rhs);
24template<
typename T, std::
size_t N>
25::testing::AssertionResult
26CmpHelperNE(
const char *lhs_expression,
const char *rhs_expression, ::hi::simd<T, N>
const& lhs, ::hi::simd<T, N>
const& rhs)
28 if (not
equal(lhs, rhs)) {
29 return ::testing::AssertionSuccess();
32 return ::testing::internal::CmpHelperEQFailure(lhs_expression, rhs_expression, lhs, rhs);
36template<
typename T, std::
size_t N>
37::testing::AssertionResult CmpHelperEQ(
38 const char *lhs_expression,
39 const char *rhs_expression,
43 if (
equal(lhs, rhs)) {
44 return ::testing::AssertionSuccess();
47 return ::testing::internal::CmpHelperEQFailure(lhs_expression, rhs_expression, lhs, rhs);
50template<
typename T, std::
size_t N>
51::testing::AssertionResult CmpHelperNE(
52 const char *lhs_expression,
53 const char *rhs_expression,
57 if (not
equal(lhs, rhs)) {
58 return ::testing::AssertionSuccess();
61 return ::testing::internal::CmpHelperEQFailure(lhs_expression, rhs_expression, lhs, rhs);
66#define HI_ASSERT_SIMD_EQ(val1, val2) ASSERT_PRED_FORMAT2(hi::detail::CmpHelperEQ, val1, val2)
67#define HI_ASSERT_SIMD_NE(val1, val2) ASSERT_PRED_FORMAT2(hi::detail::CmpHelperNE, val1, val2)
DOXYGEN BUG.
Definition algorithm.hpp:13
geometry/margins.hpp
Definition cache.hpp:11
A native-SIMD type.
Definition native_simd_utility.hpp:159