Conditional expression selecting the k first lanes from a eve::simd_value.
Required header: #include <eve/conditional.hpp>
Public Member Functions | |
| constexpr | keep_first (std::ptrdiff_t n) noexcept |
| Construct an eve::relative_conditional_expr that will keep the n first lanes. | |
| template<typename V> | |
| constexpr auto | else_ (V const &v) const |
| Extends a conditional expression with an alternative value. | |
| template<typename T> | |
| as_logical_t< T > | mask (eve::as< T > tgt) const |
| Computes the eve::logical_value associated to the current conditional. | |
| template<typename T> | |
| constexpr std::ptrdiff_t | count (eve::as< T > tgt) const |
| Number of lanes to be left unmasked. | |
| constexpr bool friend | operator== (keep_first const &, keep_first const &)=default |
| Checks equality between two eve::keep_first instances. | |
Friends | |
| template<typename Ch, typename Ct> | |
| auto & | operator<< (std::basic_ostream< Ch, Ct > &os, keep_first const &c) |
| Inserts a eve::keep_first conditional expression into a output stream. | |
|
inlineconstexpr |
Extends a conditional expression with an alternative value.
By default, conditional operations use their unchanged input whenever the conditional evaluates to false. By using this member function, operations will use the user provided eve::value v instead.
| v | Value to use if the conditional expression evaluates to false |