#[non_exhaustive]
#[derive(Debug, Clone)]
pub struct WvdConfig {
pub n_freqs: Option<usize>,
pub smooth_window: usize,
pub analytic: bool,
}
impl Default for WvdConfig {
fn default() -> Self {
Self {
n_freqs: None,
smooth_window: 0,
analytic: true,
}
}
}
#[derive(Debug, Clone)]
pub struct WvdResult {
pub wvd: Vec<Vec<f64>>,
pub times: Vec<f64>,
pub frequencies: Vec<f64>,
}
impl WvdResult {
pub fn n_times(&self) -> usize {
self.wvd.len()
}
pub fn n_freqs(&self) -> usize {
self.wvd.first().map(|v| v.len()).unwrap_or(0)
}
}