-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move self_less to the is_less callable #2048
Conversation
368b09f
to
81f644d
Compare
a6e4ffb
to
57be875
Compare
How to forward declare the common_logical: https://godbolt.org/z/v3T1Pofbn |
namespace eve::detail | ||
{ | ||
template<callable_options O, typename T> | ||
EVE_FORCEINLINE constexpr common_logical_t<T> is_less_(EVE_REQUIRES(cpu_), O const& o, T a, T b) noexcept |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
common_logical_t makes no sense
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed
{ | ||
// static_assert( valid_tolerance<common_value_t<T, U>, Options>::value, "[eve::is_less] simd tolerance requires at least one simd parameter." ); | ||
return EVE_DISPATCH_CALL(a, b); | ||
} | ||
|
||
template<arithmetic_value T, arithmetic_value U> | ||
constexpr EVE_FORCEINLINE common_logical_t<T, U> operator()(T a, U b) const | ||
requires (compatible_arithmetic_values<T, U> && !Options::contains(definitely)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
decided to static assert for now
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reverted to the static_assert
constexpr EVE_FORCEINLINE common_logical_t<T,U> operator()(T a, U b) const | ||
template<arithmetic_value T, arithmetic_value U> | ||
constexpr EVE_FORCEINLINE common_logical_t<T, U> operator()(T a, U b) const | ||
requires (compatible_arithmetic_values<T, U>) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
put the static assert in the interface please
No description provided.