pub trait CpuRadixPartitionable: Sized + DeviceCopy {
    fn prefix_sum_impl(
        rp: &mut CpuRadixPartitioner,
        partition_attr: RadixPartitionInputChunk<'_, Self>,
        partition_offsets: PartitionOffsetsMutSlice<'_, Tuple<Self, Self>>
    ) -> Result<()>;
fn partition_impl(
        rp: &mut CpuRadixPartitioner,
        partition_attr: RadixPartitionInputChunk<'_, Self>,
        payload_attr: RadixPartitionInputChunk<'_, Self>,
        partition_offsets: PartitionOffsetsMutSlice<'_, Tuple<Self, Self>>,
        partitioned_relation: PartitionedRelationMutSlice<'_, Tuple<Self, Self>>
    ) -> Result<()>; }
Expand description

Specifies that the implementing type can be used as partitioning key in CpuRadixPartitioner.

CpuRadixPartitionable is a trait for which specialized implementations exist for each implementing type (currently i32 and i64). Specialization is necessary because each type requires a different C++ function to be called.

See CudaHashJoinable for more details on the design decision.

Required methods

Implementations on Foreign Types

Implementors