Skip to main content

BooleanKernel

Trait BooleanKernel 

Source
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§

Source

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".

Implementors§