modewise_signals/
error.rs

1use thiserror::Error;
2
3#[derive(Debug, Error, PartialEq)]
4pub enum SignalError {
5    #[error("sampling rate must be finite and positive, got {0}")]
6    InvalidSamplingRate(f64),
7    #[error("series needs at least one channel")]
8    NoChannels,
9    #[error("series needs at least 2 samples, got {0}")]
10    TooFewSamples(usize),
11    #[error("non-finite value at channel {channel}, sample {sample}")]
12    NonFiniteValue { channel: usize, sample: usize },
13    #[error("expected {expected} channel labels, got {actual}")]
14    LabelCountMismatch { expected: usize, actual: usize },
15    #[error("duplicate channel label {0:?}")]
16    DuplicateLabel(String),
17}