pub trait BooleanKernel: VTable {
// Required method
fn boolean(
lhs: ArrayView<'_, Self>,
rhs: &ArrayRef,
operator: Operator,
ctx: &mut ExecutionCtx,
) -> VortexResult<Option<ArrayRef>>;
}Expand description
Trait for encoding-specific boolean kernels that operate in encoded space.
Implementations receive the encoded array as the left operand. rhs may be any boolean array
encoding or a constant; implementations should return Ok(None) when they cannot handle that
operand without falling back to ordinary execution.
Vortex’s boolean Operator::And and Operator::Or variants use Kleene semantics; there is
no separate two-valued boolean operator path to dispatch here.
Required Methods§
Sourcefn boolean(
lhs: ArrayView<'_, Self>,
rhs: &ArrayRef,
operator: Operator,
ctx: &mut ExecutionCtx,
) -> VortexResult<Option<ArrayRef>>
fn boolean( lhs: ArrayView<'_, Self>, rhs: &ArrayRef, operator: Operator, ctx: &mut ExecutionCtx, ) -> VortexResult<Option<ArrayRef>>
Execute lhs <operator> rhs using Kleene boolean semantics.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".