Skip to main content

shape_runtime/multi_table/
config.rs

1//! Configuration types for multi-series alignment
2
3/// Gap fill method for missing data
4#[derive(Debug, Clone, Copy, PartialEq)]
5pub enum GapFillMethod {
6    Forward,
7    None,
8}
9
10/// Alignment mode for multiple series
11#[derive(Debug, Clone, Copy, PartialEq)]
12pub enum AlignmentMode {
13    /// Only include timestamps present in all series
14    Intersection,
15    /// Include all timestamps from any series
16    Union,
17    /// Use timestamps from a specific reference series
18    Reference(usize),
19    /// Use a fixed interval regardless of data
20    FixedInterval,
21}
22
23/// Multi-series alignment configuration
24#[derive(Debug, Clone)]
25pub struct AlignmentConfig {
26    /// Alignment mode
27    pub mode: AlignmentMode,
28    /// Gap filling method
29    pub gap_fill: GapFillMethod,
30}
31
32impl Default for AlignmentConfig {
33    fn default() -> Self {
34        Self {
35            mode: AlignmentMode::Intersection,
36            gap_fill: GapFillMethod::Forward,
37        }
38    }
39}