Functions that operate on masks themselves.
|
template<typename T , size_t SIMD_WIDTH> |
static Mask< T, SIMD_WIDTH > | simd::kadd (const Mask< T, SIMD_WIDTH > &a, const Mask< T, SIMD_WIDTH > &b) |
| Adds two Mask's together as if they were integers.
|
|
template<typename T , size_t SIMD_WIDTH> |
static Mask< T, SIMD_WIDTH > | simd::kand (const Mask< T, SIMD_WIDTH > &a, const Mask< T, SIMD_WIDTH > &b) |
| Computes the bitwise AND of two Mask's.
|
|
template<typename T , size_t SIMD_WIDTH> |
static Mask< T, SIMD_WIDTH > | simd::kandn (const Mask< T, SIMD_WIDTH > &a, const Mask< T, SIMD_WIDTH > &b) |
| Computes bitwise ANDNOT of two Mask's.
|
|
template<typename T , size_t SIMD_WIDTH> |
static Mask< T, SIMD_WIDTH > | simd::knot (const Mask< T, SIMD_WIDTH > &a) |
| Computes the bitwise NOT of a Mask.
|
|
template<typename T , size_t SIMD_WIDTH> |
static Mask< T, SIMD_WIDTH > | simd::kor (const Mask< T, SIMD_WIDTH > &a, const Mask< T, SIMD_WIDTH > &b) |
| Computes the bitwise OR of two Mask's.
|
|
template<size_t COUNT, typename T , size_t SIMD_WIDTH> |
static Mask< T, SIMD_WIDTH > | simd::kshiftli (const Mask< T, SIMD_WIDTH > &a) |
| Shifts the bits of a Mask to the left by a constant number of bits.
|
|
template<typename T , size_t SIMD_WIDTH> |
static Mask< T, SIMD_WIDTH > | simd::kshiftli (const Mask< T, SIMD_WIDTH > &a, const uint64_t count) |
| Shifts the bits of a Mask to the left by a variable number of bits.
|
|
template<size_t COUNT, typename T , size_t SIMD_WIDTH> |
static Mask< T, SIMD_WIDTH > | simd::kshiftri (const Mask< T, SIMD_WIDTH > &a) |
| Shifts the bits of a Mask to the right by a constant number of bits.
|
|
template<typename T , size_t SIMD_WIDTH> |
static Mask< T, SIMD_WIDTH > | simd::kshiftri (const Mask< T, SIMD_WIDTH > &a, const uint64_t count) |
| Shifts the bits of a Mask to the right by a variable number of bits.
|
|
template<typename T , size_t SIMD_WIDTH> |
static bool | simd::ktest_all_ones (const Mask< T, SIMD_WIDTH > &a) |
| Tests if all bits of a Mask are set to true.
|
|
template<typename T , size_t SIMD_WIDTH> |
static bool | simd::ktest_all_zeros (const Mask< T, SIMD_WIDTH > &a) |
| Tests if all bits of a Mask are set to false.
|
|
template<typename T , size_t SIMD_WIDTH> |
static Mask< T, SIMD_WIDTH > | simd::kxnor (const Mask< T, SIMD_WIDTH > &a, const Mask< T, SIMD_WIDTH > &b) |
| Computes the bitwise XNOR of two Mask's.
|
|
template<typename T , size_t SIMD_WIDTH> |
static Mask< T, SIMD_WIDTH > | simd::kxor (const Mask< T, SIMD_WIDTH > &a, const Mask< T, SIMD_WIDTH > &b) |
| Computes the bitwise XOR of two Mask's.
|
|
template<typename T , size_t SIMD_WIDTH> |
static Mask< T, SIMD_WIDTH > | simd::mask_all_ones () |
| Creates a Mask with all elements set to true.
|
|
template<typename T , size_t SIMD_WIDTH> |
static Mask< T, SIMD_WIDTH > | simd::mask_set_false_high (const size_t x) |
| Sets the upper x bits of a Mask to false.
|
|
template<typename T , size_t SIMD_WIDTH> |
static Mask< T, SIMD_WIDTH > | simd::mask_set_false_low (const size_t x) |
| Sets the lower x bits of a Mask to false.
|
|
template<typename T , size_t SIMD_WIDTH> |
static Mask< T, SIMD_WIDTH > | simd::mask_set_true_high (const size_t x) |
| Sets the upper x bits of a Mask to true.
|
|
template<typename T , size_t SIMD_WIDTH> |
static Mask< T, SIMD_WIDTH > | simd::mask_set_true_low (const size_t x) |
| Sets the lower x bits of a Mask to true.
|
|
template<typename Tout , typename Tin , size_t SIMD_WIDTH> |
static Mask< Tout, SIMD_WIDTH > | simd::reinterpret_mask (const Mask< Tin, SIMD_WIDTH > &a) |
| Reinterprets a Mask of one type as a Mask of another type.
|
|