polars_plan/dsl/
bitwise.rsuse super::{BitwiseFunction, Expr, FunctionExpr, FunctionFlags};
impl Expr {
pub fn bitwise_count_ones(self) -> Self {
self.apply_private(FunctionExpr::Bitwise(BitwiseFunction::CountOnes))
}
pub fn bitwise_count_zeros(self) -> Self {
self.apply_private(FunctionExpr::Bitwise(BitwiseFunction::CountZeros))
}
pub fn bitwise_leading_ones(self) -> Self {
self.apply_private(FunctionExpr::Bitwise(BitwiseFunction::LeadingOnes))
}
pub fn bitwise_leading_zeros(self) -> Self {
self.apply_private(FunctionExpr::Bitwise(BitwiseFunction::LeadingZeros))
}
pub fn bitwise_trailing_ones(self) -> Self {
self.apply_private(FunctionExpr::Bitwise(BitwiseFunction::TrailingOnes))
}
pub fn bitwise_trailing_zeros(self) -> Self {
self.apply_private(FunctionExpr::Bitwise(BitwiseFunction::TrailingZeros))
}
pub fn bitwise_and(self) -> Self {
self.apply_private(FunctionExpr::Bitwise(BitwiseFunction::And))
.with_function_options(|mut options| {
options.flags |= FunctionFlags::RETURNS_SCALAR;
options
})
}
pub fn bitwise_or(self) -> Self {
self.apply_private(FunctionExpr::Bitwise(BitwiseFunction::Or))
.with_function_options(|mut options| {
options.flags |= FunctionFlags::RETURNS_SCALAR;
options
})
}
pub fn bitwise_xor(self) -> Self {
self.apply_private(FunctionExpr::Bitwise(BitwiseFunction::Xor))
.with_function_options(|mut options| {
options.flags |= FunctionFlags::RETURNS_SCALAR;
options
})
}
}