add vector subvector method

This commit is contained in:
bit-aloo
2025-07-29 22:58:08 +05:30
parent 3ca87a823f
commit 0e6708575d

View File

@@ -334,6 +334,22 @@ pub fn vector_concat(v1: &Vector, v2: &Vector) -> Result<Vector> {
})
}
pub fn subvector(vector: &Vector, start_idx: usize, length: usize) -> Result<Vector> {
if start_idx + length > vector.data.len() {
return Err(LimboError::ConversionError(
"Subvector range out of bounds".into(),
));
}
let data = vector.data[start_idx..start_idx + length].to_vec();
Ok(Vector {
vector_type: vector.vector_type.clone(),
dims: length,
data,
})
}
#[cfg(test)]
mod tests {
use super::*;