Scalar and SIMD version of basic bitwise functions. More...
Detailed Description
Scalar and SIMD version of basic bitwise functions.
These functions provide scalar and SIMD version of bit operations. These operations are extended to work on any value types by considering the bitwise operation to apply on the value bit patterns while retaining its original types, thus following the Bitwise Functions semantic.
If a bitwise operation implies a negation – as in bit_andnot
– the position of the negation in the function's name matches the position of the negated parameter. For example, bit_andnot(x,y)
is semantically equivalent to bit_and(x,bit_not(y))
but may be optimized.
Convenience header:
#include <eve/function/bits.hpp>
Variables | |
constexpr callable_bit_cast_ | eve::bit_cast = {} |
Callable object computing a bitwise reinterpretation of the object. More... | |
constexpr callable_bit_and_ | eve::bit_and = {} |
Callable object computing the bitwise AND operation. More... | |
constexpr callable_bit_andnot_ | eve::bit_andnot = {} |
Callable object computing the bitwise ANDNOT operation. More... | |
constexpr callable_bit_ceil_ | eve::bit_ceil = {} |
Callable object computing the bit_ceil operation. More... | |
constexpr callable_bit_floor_ | eve::bit_floor = {} |
Callable object computing the bit_floor operation. More... | |
constexpr callable_bit_mask_ | eve::bit_mask = {} |
Callable object computing a bit mask. More... | |
constexpr callable_bit_not_ | eve::bit_not = {} |
Callable object computing the ones' complement operation. More... | |
constexpr callable_bit_notand_ | eve::bit_notand = {} |
Callable object computing the bitwise NOTAND operation. More... | |
constexpr callable_bit_notor_ | eve::bit_notor = {} |
Callable object computing the bitwise NOTOR operation. More... | |
constexpr callable_bit_or_ | eve::bit_or = {} |
Callable object computing the bitwise OR operation. More... | |
constexpr callable_bit_ornot_ | eve::bit_ornot = {} |
Callable object computing the bitwise ORNOT operation. More... | |
constexpr callable_bit_select_ | eve::bit_select = {} |
Callable object computing the bit_select operation. More... | |
detail::callable_object< tag::shl_ > const | eve::bit_shl = {} |
Callable object computing the logical left shift operation. More... | |
constexpr callable_bit_shr_ | eve::bit_shr = {} |
Callable object computing the logical right shift operation. More... | |
constexpr callable_bit_width_ | eve::bit_width = {} |
Callable object computing the bit_width operation. More... | |
constexpr callable_bit_xor_ | eve::bit_xor = {} |
Callable object computing the bitwise XOR operation. More... | |
constexpr callable_countl_one_ | eve::countl_one = {} |
Callable object computing the number of consecutive 1 bits left. More... | |
constexpr callable_countl_zero_ | eve::countl_zero = {} |
Callable object computing the number of consecutive 1 bits left. More... | |
constexpr callable_countr_one_ | eve::countr_one = {} |
Callable object computing the number of consecutive 1 bits right. More... | |
constexpr callable_countr_zero_ | eve::countr_zero = {} |
Callable object computing the number of consecutive 1 bits right. More... | |
constexpr callable_ffs_ | eve::ffs = {} |
Callable object computing the ffs operation. More... | |
constexpr callable_firstbitset_ | eve::firstbitset = {} |
Callable object computing the firstbitset operation. More... | |
constexpr callable_firstbitunset_ | eve::firstbitunset = {} |
Callable object computing the firstbitunset operation. More... | |
constexpr callable_fls_ | eve::fls = {} |
Callable object computing the fls operation. More... | |
constexpr callable_is_pow2_ | eve::is_pow2 = {} |
Callable object computing the is_pow2 predicate. More... | |
constexpr callable_next_ | eve::next = {} |
Callable object computing the next operation. More... | |
constexpr callable_popcount_ | eve::popcount = {} |
Callable object computing the number of bits set. More... | |
constexpr callable_prev_ | eve::prev = {} |
Callable object computing the prevt operation. More... | |