Skip to content

Commit 06cfd49

Browse files
committed
Remove redundant PiecewiseSequential u64 index helper
Signed-off-by: Daniel King <dan@spiraldb.com>
1 parent 2be8f97 commit 06cfd49

2 files changed

Lines changed: 10 additions & 16 deletions

File tree

vortex-array/src/arrays/piecewise_sequential/mod.rs

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
//! can gather contiguous runs without materializing one index per element.
99
1010
use itertools::Itertools;
11-
use num_traits::AsPrimitive;
1211
use vortex_buffer::BufferMut;
1312
use vortex_error::VortexResult;
1413
use vortex_error::vortex_bail;
@@ -72,15 +71,10 @@ pub(crate) fn index_value_to_usize<T: UnsignedPType>(value: T) -> usize {
7271
}
7372

7473
#[inline]
75-
pub(crate) fn index_value_to_u64<T: UnsignedPType + AsPrimitive<u64>>(value: T) -> u64 {
76-
value.as_()
77-
}
78-
79-
#[inline]
80-
pub(crate) fn checked_range_end(start: u64, length: usize) -> VortexResult<u64> {
74+
pub(crate) fn checked_range_end(start: usize, length: usize) -> VortexResult<usize> {
8175
start
82-
.checked_add(length as u64)
83-
.ok_or_else(|| vortex_error::vortex_err!("PiecewiseSequentialArray range overflows u64"))
76+
.checked_add(length)
77+
.ok_or_else(|| vortex_error::vortex_err!("PiecewiseSequentialArray range overflows usize"))
8478
}
8579

8680
pub(crate) fn materialize_ranges<S, L>(
@@ -89,7 +83,7 @@ pub(crate) fn materialize_ranges<S, L>(
8983
output_len: usize,
9084
) -> VortexResult<BufferMut<u64>>
9185
where
92-
S: UnsignedPType + AsPrimitive<u64>,
86+
S: UnsignedPType,
9387
L: UnsignedPType,
9488
{
9589
let starts = starts.as_slice::<S>();
@@ -98,14 +92,14 @@ where
9892
let mut computed_len = 0usize;
9993

10094
for (&start, &length) in starts.iter().zip_eq(lengths) {
101-
let start = index_value_to_u64(start);
95+
let start: usize = start.as_();
10296
let length = index_value_to_usize(length);
103-
checked_range_end(start, length)?;
97+
let end = checked_range_end(start, length)?;
10498
computed_len = computed_len.checked_add(length).ok_or_else(|| {
10599
vortex_error::vortex_err!("PiecewiseSequentialArray output length overflows usize")
106100
})?;
107101

108-
values.extend((0..length).map(|offset| start + offset as u64));
102+
values.extend((start..end).map(|value| value as u64));
109103
}
110104

111105
if computed_len != output_len {

vortex-array/src/arrays/piecewise_sequential/vtable.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ use crate::arrays::piecewise_sequential::array::PiecewiseSequentialArraySlotsExt
3030
use crate::arrays::piecewise_sequential::array::PiecewiseSequentialSlots;
3131
use crate::arrays::piecewise_sequential::check_index_arrays;
3232
use crate::arrays::piecewise_sequential::execute_index_arrays;
33-
use crate::arrays::piecewise_sequential::index_value_to_u64;
3433
use crate::arrays::piecewise_sequential::index_value_to_usize;
3534
use crate::arrays::piecewise_sequential::materialize_ranges;
3635
use crate::arrays::primitive::PrimitiveArrayExt;
@@ -233,7 +232,7 @@ fn scalar_at<S, L>(
233232
index: usize,
234233
) -> VortexResult<u64>
235234
where
236-
S: crate::dtype::UnsignedPType + num_traits::AsPrimitive<u64>,
235+
S: crate::dtype::UnsignedPType,
237236
L: crate::dtype::UnsignedPType,
238237
{
239238
let mut remaining = index;
@@ -244,7 +243,8 @@ where
244243
{
245244
let length = index_value_to_usize(length);
246245
if remaining < length {
247-
return Ok(index_value_to_u64(start) + remaining as u64);
246+
let start: usize = start.as_();
247+
return Ok((start + remaining) as u64);
248248
}
249249
remaining -= length;
250250
}

0 commit comments

Comments
 (0)