Add series module for time-series data

Introduce the `series` module to handle time-series data storage and
manipulation. This module includes:

- `RingBuffer`: An efficient ring buffer for storing time-series data
  with a configurable lookback.
- `ScalarSeries`: A type-safe series for primitive scalar values (f64,
  i64, bool) optimized for performance.
- `ValueSeries`: A fallback series for non-scalar or mixed data types.
- `RecordSeries`: A "Struct of Arrays" implementation for records,
  splitting fields into parallel series for efficient access.
This commit is contained in:
Michael Schimmel
2026-02-28 18:30:44 +01:00
parent eab3e02199
commit 85d21943dd
3 changed files with 227 additions and 38 deletions
+2 -1
View File
@@ -2,6 +2,7 @@ pub mod core;
pub mod datetime;
pub mod intrinsics;
pub mod math;
pub mod series;
pub mod type_registry;
use crate::ast::environment::Environment;
@@ -10,4 +11,4 @@ pub fn register(env: &Environment) {
core::register(env);
datetime::register(env);
math::register(env);
}
}