Expand description
§Binary Operations Kernels Module - High-Performance Element-wise Binary Operations
Comprehensive binary operation kernels providing element-wise operations between array pairs with null-aware semantics and SIMD acceleration. Critical foundation for analytical computing requiring efficient pairwise data transformations.
§Core Operations
- Numeric comparisons: Greater than, less than, equal operations across all numeric types
- String operations: String comparison with UTF-8 aware lexicographic ordering
- Categorical operations: Dictionary-encoded string comparisons with optimised lookups
- Set operations: Membership testing with efficient hash-based implementations
- Range operations: Between operations for numeric and string data types
- Logical combinations: AND, OR, XOR operations on boolean arrays with bitmask optimisation
§Architecture Overview
The module provides a unified interface for binary operations across heterogeneous data types:
- Type-aware dispatch: Automatic selection of optimised kernels based on input types
- Memory layout optimisation: Direct array-to-array operations minimising intermediate allocations
- Null propagation: Proper handling of null values following Apache Arrow semantics
- SIMD vectorisation: Hardware-accelerated operations on compatible data types
Constants§
- W8
- Auto-generated SIMD lane widths from build.rs
SIMD lane count for 8-bit elements (u8, i8).
Determined at build time based on target architecture capabilities,
or overridden via
SIMD_LANES_OVERRIDE. - W16
- SIMD lane count for 16-bit elements (u16, i16).
Determined at build time based on target architecture capabilities,
or overridden via
SIMD_LANES_OVERRIDE. - W32
- SIMD lane count for 32-bit elements (u32, i32, f32).
Determined at build time based on target architecture capabilities,
or overridden via
SIMD_LANES_OVERRIDE. - W64
- SIMD lane count for 64-bit elements (u64, i64, f64).
Determined at build time based on target architecture capabilities,
or overridden via
SIMD_LANES_OVERRIDE.
Functions§
- apply_
cmp - Applies comparison operations between numeric arrays with comprehensive operator support.
- apply_
cmp_ bool - Boolean Bit packed
- apply_
cmp_ dict - Applies comparison operations between corresponding categorical dictionary values.
- apply_
cmp_ dict_ str - Applies comparison operations between categorical dictionary values and string array elements.
- apply_
cmp_ f - Applies comparison operations between floating-point arrays with IEEE 754 compliance.
- apply_
cmp_ str - Applies comparison operations between corresponding string elements from string arrays.
- apply_
cmp_ str_ dict - Applies comparison operations between string array elements and categorical dictionary values.