batch_bool¶
-
template<class
T
, classA
= default_arch>
classbatch_bool
: public types::get_bool_simd_register_t<T, default_arch>¶ 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.
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¶
Reducers¶
-
template<class
T
, classA
>
boolxsimd
::
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.