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 BitChunk
s 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, usesstd::simd
.
Structs§
- An [
Iterator<Item=bool>
] over aBitChunk
. - An [
Iterator<Item=usize>
] over aBitChunk
returning the index of each bit set in the chunk See https://lemire.me/blog/2018/03/08/iterating-over-set-bits-quickly-simd-edition/ for details - Bytes with a size and alignment.
- Bytes with a size and alignment.
- Bytes with a size and alignment.
- Bytes with a size and alignment.
- Bytes with a size and alignment.
- Bytes with a size and alignment.
- Bytes with a size and alignment.
- Bytes with a size and alignment.
- Bytes with a size and alignment.
- Bytes with a size and alignment.
- The in-memory representation of the DayMillisecond variant of arrow’s “Interval” logical type.
- Type representation of the Float16 physical type
- Physical representation of a decimal
- The in-memory representation of the MonthDayNano variant of the “Interval” logical type.
Enums§
- The set of all implementations of the sealed trait
NativeType
.
Traits§
- A representation of a type as raw bytes with the same alignment as the original type.
- Define that a type has the same byte alignment and size as
B
. - A chunk of bits. This is used to create masks of a given length whose width is
1
bit. Inportable_simd
notation, this corresponds tom1xY
. - Sealed trait describing the subset of
NativeType
(i32
,i64
,u32
andu64
) 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
andi64
) ofIndex
that can be used as offsets of variable-length Arrow arrays.
Functions§
- Converts an f32 into a canonical form, where -0 == 0 and all NaNs map to the same value.