Trait lnkit::prelude::SimdBool [−]
pub trait SimdBool: Copy + BitAnd<Self, Output = Self> + BitOr<Self, Output = Self> + BitXor<Self, Output = Self> + Not<Output = Self> { pub fn bitmask(self) -> u64; pub fn and(self) -> bool; pub fn or(self) -> bool; pub fn xor(self) -> bool; pub fn all(self) -> bool; pub fn any(self) -> bool; pub fn none(self) -> bool; pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res
where
Res: SimdValue<SimdBool = Self>; pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Self, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res
where
Res: SimdValue<SimdBool = Self>; pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Self, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Self, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res
where
Res: SimdValue<SimdBool = Self>; }
Lane-wise generalization of bool
for SIMD booleans.
This trait implemented by bool
as well as SIMD boolean types like packed_simd::m32x4
.
It is designed to abstract the behavior of booleans so it can work with multi-lane boolean
values in an AoSoA setting.
Required methods
pub fn bitmask(self) -> u64
A bit mask representing the boolean state of each lanes of self
.
The i-th
bit of the result is 1
iff. the i-th
lane of self
is true
.
pub fn and(self) -> bool
Lane-wise bitwise and of the vector elements.
pub fn or(self) -> bool
Lane-wise bitwise or of the vector elements.
pub fn xor(self) -> bool
Lane-wise bitwise xor of the vector elements.
pub fn all(self) -> bool
Are all vector lanes true?
pub fn any(self) -> bool
Is any vector lane true?
pub fn none(self) -> bool
Are all vector lanes false?
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Self>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Self>,
Merges the value of if_value()
and else_value()
depending on the lanes of self
.
- For each lane of
self
containing1
, the result will contain the corresponding lane ofif_value()
. - For each lane of
self
containing0
, the result will contain the corresponding lane ofelse_value()
.
The implementor of this trait is free to choose on what cases if_value
and else_value
are actually
called.
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Self, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Self>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Self, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Self>,
Merges the value of if_value()
and else_if.1()
and else_value()
depending on the lanes of self
and else_if.0()
.
- For each lane of
self
containing1
, the result will contain the corresponding lane ofif_value()
. - For each lane of
self
containing0
but with a corresponding lane ofelse_if.0()
containing1
, the result will contain the corresponding lane ofelse_if.1()
. - For each lane of
self
containing0
but with a corresponding lane ofelse_if.0()
containing0
, the result will contain the corresponding lane ofelse_value()
.
The implementor of this trait is free to choose on what cases any of those closures are implemented.
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Self, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Self, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Self>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Self, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Self, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Self>,
Merges the value of if_value()
and else_if.1()
and else_else_if.1()
and else_value()
depending on the lanes of self
and else_if.0()
and else_else_if.0()
.
- For each lane of
self
containing1
, the result will contain the corresponding lane ofif_value()
. - For each lane of
self
containing0
but with a corresponding lane ofelse_if.0()
containing1
, the result will contain the corresponding lane ofelse_if.1()
. - For each lane of
self
containing0
andelse_if.0()
containing0
andelse_else_if.0()
containing1
, the result will contain the corresponding lane ofelse_else_if.1()
. - Other lanes will contain the corresponding lane of
else_value()
.
The implementor of this trait is free to choose on what cases any of those closures are implemented.
Implementations on Foreign Types
impl SimdBool for Simd<Simd<[m64; 4]>>
impl SimdBool for Simd<Simd<[m64; 4]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m64; 4]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m64; 4]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m64; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m64; 4]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m64; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m64; 4]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m64; 4]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m64; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m64; 4]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m64; 4]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m64; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m64; 4]>>>,
impl SimdBool for Simd<Simd<[m32; 8]>>
impl SimdBool for Simd<Simd<[m32; 8]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 8]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 8]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m32; 8]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 8]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m32; 8]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 8]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m32; 8]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m32; 8]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 8]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m32; 8]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m32; 8]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 8]>>>,
impl SimdBool for AutoSimd<[bool; 2]>
impl SimdBool for AutoSimd<[bool; 2]>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 2]>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 2]>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 2]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 2]>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 2]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 2]>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 2]>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> AutoSimd<[bool; 2]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 2]>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 2]>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> AutoSimd<[bool; 2]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 2]>>,
impl SimdBool for AutoSimd<[bool; 16]>
impl SimdBool for AutoSimd<[bool; 16]>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 16]>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 16]>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 16]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 16]>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 16]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 16]>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 16]>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> AutoSimd<[bool; 16]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 16]>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 16]>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> AutoSimd<[bool; 16]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 16]>>,
impl SimdBool for Simd<Simd<[m8; 2]>>
impl SimdBool for Simd<Simd<[m8; 2]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 2]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 2]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 2]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 2]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 2]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m8; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 2]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 2]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m8; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 2]>>>,
impl SimdBool for Simd<Simd<[m128; 2]>>
impl SimdBool for Simd<Simd<[m128; 2]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m128; 2]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m128; 2]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m128; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m128; 2]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m128; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m128; 2]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m128; 2]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m128; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m128; 2]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m128; 2]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m128; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m128; 2]>>>,
impl SimdBool for Simd<Simd<[msize; 4]>>
impl SimdBool for Simd<Simd<[msize; 4]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[msize; 4]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[msize; 4]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[msize; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[msize; 4]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[msize; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[msize; 4]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[msize; 4]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[msize; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[msize; 4]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[msize; 4]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[msize; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[msize; 4]>>>,
impl SimdBool for Simd<Simd<[m128; 1]>>
impl SimdBool for Simd<Simd<[m128; 1]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m128; 1]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m128; 1]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m128; 1]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m128; 1]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m128; 1]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m128; 1]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m128; 1]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m128; 1]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m128; 1]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m128; 1]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m128; 1]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m128; 1]>>>,
impl SimdBool for Simd<Simd<[m8; 16]>>
impl SimdBool for Simd<Simd<[m8; 16]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 16]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 16]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 16]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 16]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 16]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 16]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 16]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m8; 16]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 16]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 16]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m8; 16]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 16]>>>,
impl SimdBool for bool
impl SimdBool for bool
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = bool>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = bool>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> bool, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = bool>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> bool, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = bool>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> bool, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> bool, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = bool>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> bool, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> bool, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = bool>,
impl SimdBool for Simd<Simd<[m16; 32]>>
impl SimdBool for Simd<Simd<[m16; 32]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 32]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 32]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m16; 32]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 32]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m16; 32]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 32]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m16; 32]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m16; 32]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 32]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m16; 32]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m16; 32]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 32]>>>,
impl SimdBool for AutoSimd<[bool; 8]>
impl SimdBool for AutoSimd<[bool; 8]>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 8]>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 8]>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 8]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 8]>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 8]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 8]>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 8]>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> AutoSimd<[bool; 8]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 8]>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 8]>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> AutoSimd<[bool; 8]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 8]>>,
impl SimdBool for Simd<Simd<[m8; 4]>>
impl SimdBool for Simd<Simd<[m8; 4]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 4]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 4]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 4]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 4]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 4]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m8; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 4]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 4]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m8; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 4]>>>,
impl SimdBool for Simd<Simd<[m32; 4]>>
impl SimdBool for Simd<Simd<[m32; 4]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 4]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 4]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m32; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 4]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m32; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 4]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m32; 4]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m32; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 4]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m32; 4]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m32; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 4]>>>,
impl SimdBool for Simd<Simd<[m16; 16]>>
impl SimdBool for Simd<Simd<[m16; 16]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 16]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 16]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m16; 16]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 16]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m16; 16]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 16]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m16; 16]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m16; 16]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 16]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m16; 16]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m16; 16]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 16]>>>,
impl SimdBool for Simd<Simd<[m32; 2]>>
impl SimdBool for Simd<Simd<[m32; 2]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 2]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 2]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m32; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 2]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m32; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 2]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m32; 2]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m32; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 2]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m32; 2]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m32; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 2]>>>,
impl SimdBool for Simd<Simd<[m8; 32]>>
impl SimdBool for Simd<Simd<[m8; 32]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 32]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 32]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 32]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 32]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 32]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 32]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 32]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m8; 32]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 32]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 32]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m8; 32]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 32]>>>,
impl SimdBool for Simd<Simd<[m8; 8]>>
impl SimdBool for Simd<Simd<[m8; 8]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 8]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 8]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 8]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 8]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 8]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 8]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 8]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m8; 8]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 8]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 8]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m8; 8]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 8]>>>,
impl SimdBool for Simd<Simd<[m32; 16]>>
impl SimdBool for Simd<Simd<[m32; 16]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 16]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 16]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m32; 16]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 16]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m32; 16]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 16]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m32; 16]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m32; 16]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 16]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m32; 16]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m32; 16]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m32; 16]>>>,
impl SimdBool for Simd<Simd<[msize; 2]>>
impl SimdBool for Simd<Simd<[msize; 2]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[msize; 2]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[msize; 2]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[msize; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[msize; 2]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[msize; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[msize; 2]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[msize; 2]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[msize; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[msize; 2]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[msize; 2]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[msize; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[msize; 2]>>>,
impl SimdBool for Simd<Simd<[m64; 8]>>
impl SimdBool for Simd<Simd<[m64; 8]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m64; 8]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m64; 8]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m64; 8]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m64; 8]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m64; 8]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m64; 8]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m64; 8]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m64; 8]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m64; 8]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m64; 8]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m64; 8]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m64; 8]>>>,
impl SimdBool for Simd<Simd<[m64; 2]>>
impl SimdBool for Simd<Simd<[m64; 2]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m64; 2]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m64; 2]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m64; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m64; 2]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m64; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m64; 2]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m64; 2]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m64; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m64; 2]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m64; 2]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m64; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m64; 2]>>>,
impl SimdBool for AutoSimd<[bool; 4]>
impl SimdBool for AutoSimd<[bool; 4]>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 4]>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 4]>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 4]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 4]>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 4]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 4]>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 4]>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> AutoSimd<[bool; 4]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 4]>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 4]>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> AutoSimd<[bool; 4]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 4]>>,
impl SimdBool for AutoSimd<[bool; 1]>
impl SimdBool for AutoSimd<[bool; 1]>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 1]>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 1]>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 1]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 1]>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 1]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 1]>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 1]>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> AutoSimd<[bool; 1]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 1]>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 1]>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> AutoSimd<[bool; 1]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 1]>>,
impl SimdBool for Simd<Simd<[m128; 4]>>
impl SimdBool for Simd<Simd<[m128; 4]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m128; 4]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m128; 4]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m128; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m128; 4]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m128; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m128; 4]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m128; 4]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m128; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m128; 4]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m128; 4]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m128; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m128; 4]>>>,
impl SimdBool for Simd<Simd<[m16; 2]>>
impl SimdBool for Simd<Simd<[m16; 2]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 2]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 2]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m16; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 2]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m16; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 2]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m16; 2]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m16; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 2]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m16; 2]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m16; 2]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 2]>>>,
impl SimdBool for Simd<Simd<[msize; 8]>>
impl SimdBool for Simd<Simd<[msize; 8]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[msize; 8]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[msize; 8]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[msize; 8]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[msize; 8]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[msize; 8]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[msize; 8]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[msize; 8]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[msize; 8]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[msize; 8]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[msize; 8]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[msize; 8]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[msize; 8]>>>,
impl SimdBool for AutoSimd<[bool; 32]>
impl SimdBool for AutoSimd<[bool; 32]>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 32]>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 32]>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 32]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 32]>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 32]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 32]>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 32]>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> AutoSimd<[bool; 32]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 32]>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> AutoSimd<[bool; 32]>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> AutoSimd<[bool; 32]>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = AutoSimd<[bool; 32]>>,
impl SimdBool for Simd<Simd<[m16; 8]>>
impl SimdBool for Simd<Simd<[m16; 8]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 8]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 8]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m16; 8]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 8]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m16; 8]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 8]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m16; 8]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m16; 8]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 8]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m16; 8]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m16; 8]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 8]>>>,
impl SimdBool for Simd<Simd<[m16; 4]>>
impl SimdBool for Simd<Simd<[m16; 4]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 4]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 4]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m16; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 4]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m16; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 4]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m16; 4]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m16; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 4]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m16; 4]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m16; 4]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m16; 4]>>>,
impl SimdBool for Simd<Simd<[m8; 64]>>
impl SimdBool for Simd<Simd<[m8; 64]>>
pub fn bitmask(self) -> u64
pub fn and(self) -> bool
pub fn or(self) -> bool
pub fn xor(self) -> bool
pub fn all(self) -> bool
pub fn any(self) -> bool
pub fn none(self) -> bool
pub fn if_else<Res>(
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 64]>>>,
self,
if_value: impl FnOnce() -> Res,
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 64]>>>,
pub fn if_else2<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 64]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 64]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 64]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 64]>>>,
pub fn if_else3<Res>(
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 64]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m8; 64]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 64]>>>,
self,
if_value: impl FnOnce() -> Res,
else_if: (impl FnOnce() -> Simd<Simd<[m8; 64]>>, impl FnOnce() -> Res),
else_else_if: (impl FnOnce() -> Simd<Simd<[m8; 64]>>, impl FnOnce() -> Res),
else_value: impl FnOnce() -> Res
) -> Res where
Res: SimdValue<SimdBool = Simd<Simd<[m8; 64]>>>,