batch_bool¶
- template <class T, class A = default_arch>
-
class
xsimd
::
batch_bool
¶ batch of predicate over scalar or complex values.
Abstract representation of a predicate over SIMD register for scalar or complex values.
- Template Parameters
T
: the type of the predicated values.A
: the architecture this batch is tied too.
Inherits from types::get_bool_simd_register_t< T, A >
Public Types
-
template<>
usingvalue_type
= bool¶ Type of the scalar elements within this batch.
-
template<>
usingarch_type
= A¶ SIMD Architecture abstracted by this batch.
-
template<>
usingregister_type
= typename base_type::register_type¶ SIMD register type abstracted by this batch.
-
template<>
usingbatch_type
= batch<T, A>¶ Associated batch type this batch represents logical operations for.
Public Functions
-
batch_bool
()¶ Create a batch initialized with undefined values.
-
uint64_t
mask
() const¶ Extract a scalar mask representation from this
batch_bool
.- Return
bit mask
Public Static Functions
-
batch_bool<T, A>
from_mask
(uint64_t mask)¶ Extract a scalar mask representation from this
batch_bool
.- Return
bit mask
Public Static Attributes
-
constexpr std::size_t
size
= sizeof(types::simd_register<T, A>) / sizeof(T)¶ Number of scalar elements in this batch.
Logical operators¶
- template <class T, class A>
-
batch_bool<T, A>
xsimd
::
bitwise_andnot
(batch_bool<T, A> const &x, batch_bool<T, A> const &y)¶ Computes the bitwise and not of batches
x
andy
.- Return
the result of the bitwise and not.
- Parameters
x
: batch involved in the operation.y
: batch involved in the operation.
Reducers¶
- template <class T, class A>
-
bool
xsimd
::
all
(batch_bool<T, A> const &x)¶ Returns true if all the boolean values in the batch are true, false otherwise.
- Return
a boolean scalar.
- Parameters
x
: the batch to reduce.
- template <class T, class A>
-
bool
xsimd
::
any
(batch_bool<T, A> const &x)¶ Return true if any of the boolean values in the batch is true, false otherwise.
- Return
a boolean scalar.
- Parameters
x
: the batch to reduce.
- template <class T, class A>
-
bool
xsimd
::
none
(batch_bool<T, A> const &x)¶ Return true if none of the boolean values in the batch is true, false otherwise.
- Return
a boolean scalar.
- Parameters
x
: the batch to reduce.