#![warn(missing_docs)]
#![allow(non_snake_case)]
#![allow(non_upper_case_globals)]
#![allow(unused_imports)]
#![allow(clippy::module_inception)]
mod config;
use config::*;
use filter::*;
pub use config::Flt;
pub mod daq;
pub mod filter;
pub mod ps;
mod math;
pub mod siggen;
pub mod rt;
pub mod slm;
#[cfg(feature = "python-bindings")]
#[pymodule]
#[pyo3(name = "_lasprs")]
fn lasprs(m: &Bound<'_, PyModule>) -> PyResult<()> {
daq::add_py_classses(m)?;
m.add_class::<filter::Biquad>()?;
m.add_class::<filter::SeriesBiquad>()?;
m.add_class::<filter::BiquadBank>()?;
m.add_class::<filter::FilterSpec>()?;
m.add_class::<filter::ZPKModel>()?;
m.add_class::<filter::StandardFilterDescriptor>()?;
m.add_class::<siggen::Siggen>()?;
m.add_class::<siggen::SiggenCommand>()?;
m.add_class::<siggen::SweepType>()?;
m.add_class::<siggen::SiggenCommand>()?;
m.add_class::<siggen::Source>()?;
m.add_class::<slm::TimeWeighting>()?;
m.add_class::<slm::SLMSettings>()?;
m.add_class::<slm::SLM>()?;
m.add_class::<slm::TimeWeighting>()?;
m.add_class::<ps::FreqWeighting>()?;
m.add_class::<ps::WindowType>()?;
m.add_class::<ps::Overlap>()?;
m.add_class::<ps::ApsMode>()?;
m.add_class::<ps::ApsSettings>()?;
m.add_class::<ps::AvPowerSpectra>()?;
m.add_class::<rt::PPMWrapper>()?;
m.add_class::<rt::PPMDropSpeed>()?;
m.add_class::<rt::ClipState>()?;
m.add_class::<rt::RtAps>()?;
m.add_class::<rt::RtViewer>()?;
Ok(())
}