pub struct FoRVTable;Trait Implementations§
Source§impl BaseArrayVTable<FoRVTable> for FoRVTable
impl BaseArrayVTable<FoRVTable> for FoRVTable
fn len(array: &FoRArray) -> usize
fn dtype(array: &FoRArray) -> &DType
fn stats(array: &FoRArray) -> StatsSetRef<'_>
fn array_hash<H: Hasher>(array: &FoRArray, state: &mut H, precision: Precision)
fn array_eq(array: &FoRArray, other: &FoRArray, precision: Precision) -> bool
Source§impl CanonicalVTable<FoRVTable> for FoRVTable
impl CanonicalVTable<FoRVTable> for FoRVTable
Source§fn canonicalize(array: &FoRArray) -> Canonical
fn canonicalize(array: &FoRArray) -> Canonical
Source§fn append_to_builder(
array: &<V as VTable>::Array,
builder: &mut dyn ArrayBuilder,
)
fn append_to_builder( array: &<V as VTable>::Array, builder: &mut dyn ArrayBuilder, )
Source§impl CastKernel for FoRVTable
impl CastKernel for FoRVTable
Source§impl CompareKernel for FoRVTable
impl CompareKernel for FoRVTable
Source§impl EncodeVTable<FoRVTable> for FoRVTable
impl EncodeVTable<FoRVTable> for FoRVTable
Source§impl FilterKernel for FoRVTable
impl FilterKernel for FoRVTable
Source§impl IsConstantKernel for FoRVTable
impl IsConstantKernel for FoRVTable
Source§fn is_constant(
&self,
array: &FoRArray,
opts: &IsConstantOpts,
) -> VortexResult<Option<bool>>
fn is_constant( &self, array: &FoRArray, opts: &IsConstantOpts, ) -> VortexResult<Option<bool>>
Source§impl IsSortedKernel for FoRVTable
FoR can express sortedness directly on its encoded form.
impl IsSortedKernel for FoRVTable
FoR can express sortedness directly on its encoded form.
If the minimum is greater than or equal to zero, subtracting it from the other values does not wrap (the value always decreases and the smallest value is zero because min - min = 0).
Subtraction without wrapping is order-preserving, so we only need to consider what happens to wrapped numbers.
Non-negative minimum values can’t wrap. For a negative minimum value, wrapping means that
a + abs(min) > 127There’s some residue r,
r < 128such that
a + abs(min) mod 128 = rFor example,
min = -128
a = 1
1 - -128 = 129And 129’s residue is 1. 129 is represented as
-128 + 1 = -127The unsigned representation is
2^8 - 127More directly, for some residue r:
2^8 + (-128 + r)
= 2^8 - 128 + r
= 128 + rAddition is order-preserving, so all the wrapped values preserve their order and they’re all represented as unsigned values larger than 127 so they also preserve their order with the unwrapped values.
fn is_strict_sorted(&self, array: &FoRArray) -> VortexResult<Option<bool>>
Source§impl OperationsVTable<FoRVTable> for FoRVTable
impl OperationsVTable<FoRVTable> for FoRVTable
Source§impl TakeKernel for FoRVTable
impl TakeKernel for FoRVTable
Source§impl VTable for FoRVTable
impl VTable for FoRVTable
type Array = FoRArray
type Metadata = ScalarValueMetadata
type ArrayVTable = FoRVTable
type CanonicalVTable = FoRVTable
type OperationsVTable = FoRVTable
type ValidityVTable = ValidityVTableFromChild
type VisitorVTable = FoRVTable
Source§type ComputeVTable = NotSupported
type ComputeVTable = NotSupported
NotSupported type.Source§type EncodeVTable = FoRVTable
type EncodeVTable = FoRVTable
EncodeVTable for this encoding. This allows it to partake in
compression.
Can be disabled by assigning to the NotSupported type.Source§fn encoding(_array: &Self::Array) -> ArrayVTable
fn encoding(_array: &Self::Array) -> ArrayVTable
Source§fn with_children(
array: &mut Self::Array,
children: Vec<ArrayRef>,
) -> VortexResult<()>
fn with_children( array: &mut Self::Array, children: Vec<ArrayRef>, ) -> VortexResult<()>
array with children. The count must be the same and types
of children must be expected.Source§fn metadata(array: &FoRArray) -> VortexResult<Self::Metadata>
fn metadata(array: &FoRArray) -> VortexResult<Self::Metadata>
Source§fn serialize(metadata: Self::Metadata) -> VortexResult<Option<Vec<u8>>>
fn serialize(metadata: Self::Metadata) -> VortexResult<Option<Vec<u8>>>
None if the array cannot be serialized.Source§fn deserialize(buffer: &[u8]) -> VortexResult<Self::Metadata>
fn deserialize(buffer: &[u8]) -> VortexResult<Self::Metadata>
Source§fn build(
&self,
dtype: &DType,
len: usize,
metadata: &Self::Metadata,
_buffers: &[BufferHandle],
children: &dyn ArrayChildren,
) -> VortexResult<FoRArray>
fn build( &self, dtype: &DType, len: usize, metadata: &Self::Metadata, _buffers: &[BufferHandle], children: &dyn ArrayChildren, ) -> VortexResult<FoRArray>
Source§fn reduce_parent(
array: &Self::Array,
parent: &ArrayRef,
child_idx: usize,
) -> VortexResult<Option<ArrayRef>>
fn reduce_parent( array: &Self::Array, parent: &ArrayRef, child_idx: usize, ) -> VortexResult<Option<ArrayRef>>
Source§fn execute(
array: &Self::Array,
ctx: &mut ExecutionCtx,
) -> Result<Vector, VortexError>
fn execute( array: &Self::Array, ctx: &mut ExecutionCtx, ) -> Result<Vector, VortexError>
Source§fn execute_parent(
array: &Self::Array,
parent: &Arc<dyn Array>,
child_idx: usize,
ctx: &mut ExecutionCtx,
) -> Result<Option<Vector>, VortexError>
fn execute_parent( array: &Self::Array, parent: &Arc<dyn Array>, child_idx: usize, ctx: &mut ExecutionCtx, ) -> Result<Option<Vector>, VortexError>
Source§impl ValidityChild<FoRVTable> for FoRVTable
impl ValidityChild<FoRVTable> for FoRVTable
fn validity_child(array: &FoRArray) -> &ArrayRef
Source§impl VisitorVTable<FoRVTable> for FoRVTable
impl VisitorVTable<FoRVTable> for FoRVTable
Source§fn visit_buffers(_array: &FoRArray, _visitor: &mut dyn ArrayBufferVisitor)
fn visit_buffers(_array: &FoRArray, _visitor: &mut dyn ArrayBufferVisitor)
Source§fn visit_children(array: &FoRArray, visitor: &mut dyn ArrayChildVisitor)
fn visit_children(array: &FoRArray, visitor: &mut dyn ArrayChildVisitor)
Auto Trait Implementations§
impl Freeze for FoRVTable
impl RefUnwindSafe for FoRVTable
impl Send for FoRVTable
impl Sync for FoRVTable
impl Unpin for FoRVTable
impl UnwindSafe for FoRVTable
Blanket Implementations§
Source§impl<V> ArrayVTableExt for Vwhere
V: VTable,
impl<V> ArrayVTableExt for Vwhere
V: VTable,
Source§fn as_vtable(&'static self) -> ArrayVTable
fn as_vtable(&'static self) -> ArrayVTable
ArrayVTable by static reference.Source§fn into_vtable(self) -> ArrayVTable
fn into_vtable(self) -> ArrayVTable
ArrayVTable by owned reference.fn to_vtable(&self) -> ArrayVTablewhere
V: Clone,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> SessionVar for T
impl<T> SessionVar for T
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.