pub trait BitwiseKernel {
type Scalar;
// Required methods
fn count_ones(&self) -> PrimitiveArray<u32>;
fn count_zeros(&self) -> PrimitiveArray<u32>;
fn leading_ones(&self) -> PrimitiveArray<u32>;
fn leading_zeros(&self) -> PrimitiveArray<u32>;
fn trailing_ones(&self) -> PrimitiveArray<u32>;
fn trailing_zeros(&self) -> PrimitiveArray<u32>;
fn reduce_and(&self) -> Option<Self::Scalar>;
fn reduce_or(&self) -> Option<Self::Scalar>;
fn reduce_xor(&self) -> Option<Self::Scalar>;
fn bit_and(lhs: Self::Scalar, rhs: Self::Scalar) -> Self::Scalar;
fn bit_or(lhs: Self::Scalar, rhs: Self::Scalar) -> Self::Scalar;
fn bit_xor(lhs: Self::Scalar, rhs: Self::Scalar) -> Self::Scalar;
}
Required Associated Types§
Required Methods§
fn count_ones(&self) -> PrimitiveArray<u32>
fn count_zeros(&self) -> PrimitiveArray<u32>
fn leading_ones(&self) -> PrimitiveArray<u32>
fn leading_zeros(&self) -> PrimitiveArray<u32>
fn trailing_ones(&self) -> PrimitiveArray<u32>
fn trailing_zeros(&self) -> PrimitiveArray<u32>
fn reduce_and(&self) -> Option<Self::Scalar>
fn reduce_or(&self) -> Option<Self::Scalar>
fn reduce_xor(&self) -> Option<Self::Scalar>
fn bit_and(lhs: Self::Scalar, rhs: Self::Scalar) -> Self::Scalar
fn bit_or(lhs: Self::Scalar, rhs: Self::Scalar) -> Self::Scalar
fn bit_xor(lhs: Self::Scalar, rhs: Self::Scalar) -> Self::Scalar
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.