1#![allow(clippy::too_many_arguments, clippy::needless_range_loop)]
13
14use thiserror::Error;
15
16pub mod candles;
17pub mod cycles;
18pub mod momentum;
19pub mod overlap;
20pub mod performance;
21pub mod statistics;
22pub mod trend;
23pub mod utils;
24pub mod volatility;
25pub mod volume;
26
27#[derive(Debug, Error)]
29pub enum TaError {
30 #[error("polars error: {0}")]
31 Polars(#[from] polars::prelude::PolarsError),
32
33 #[error("insufficient data: need at least {need} rows, got {got}")]
34 InsufficientData { need: usize, got: usize },
35
36 #[error("invalid parameter: {0}")]
37 InvalidParameter(String),
38}
39
40pub type TaResult<T> = Result<T, TaError>;