Module polars_arrow::types

source ·
Expand description

Sealed traits and implementations to handle all physical types used in this crate.

Most physical types used in this crate are native Rust types, such as i32. The trait NativeType describes the interfaces required by this crate to be conformant with Arrow.

Every implementation of NativeType has an associated variant in PrimitiveType, available via NativeType::PRIMITIVE. Combined, these allow structs generic over NativeType to be trait objects downcastable to concrete implementations based on the matched NativeType::PRIMITIVE variant.

Another important trait in this module is Offset, the subset of NativeType that can be used in Arrow offsets (i32 and i64).

Another important trait in this module is BitChunk, describing types that can be used to represent chunks of bits (e.g. 8 bits via u8, 16 via u16), and BitChunkIter, that can be used to iterate over bitmaps in BitChunks according to Arrow’s definition of bitmaps.

Finally, this module contains traits used to compile code based on NativeType optimized for SIMD, at simd.

Modules§

  • Contains traits and implementations of multi-data used in SIMD. The actual representation is driven by the feature flag "simd", which, if set, uses std::simd.

Structs§

Enums§

Traits§

  • A chunk of bits. This is used to create masks of a given length whose width is 1 bit. In portable_simd notation, this corresponds to m1xY.
  • Sealed trait describing the subset of NativeType (i32, i64, u32 and u64) that can be used to index a slot of an array.
  • Sealed trait implemented by all physical types that can be allocated, serialized and deserialized by this crate. All O(N) allocations in this crate are done for this trait alone.
  • Sealed trait describing the subset (i32 and i64) of Index that can be used as offsets of variable-length Arrow arrays.