vortex_array/arrays/primitive/vtable/
operations.rs1use vortex_error::VortexResult;
5
6use crate::ExecutionCtx;
7use crate::arrays::Primitive;
8use crate::arrays::primitive::vtable::PrimitiveArray;
9use crate::match_each_native_ptype;
10use crate::scalar::Scalar;
11use crate::vtable::OperationsVTable;
12
13impl OperationsVTable<Primitive> for Primitive {
14 fn scalar_at(
15 array: &PrimitiveArray,
16 index: usize,
17 _ctx: &mut ExecutionCtx,
18 ) -> VortexResult<Scalar> {
19 Ok(match_each_native_ptype!(array.ptype(), |T| {
20 Scalar::primitive(array.as_slice::<T>()[index], array.dtype().nullability())
21 }))
22 }
23}