pub mod bode;
pub mod nyquist;
pub mod root_locus;
pub mod sensitivity;
pub use bode::{
compute_bode, gain_crossover_frequency, gain_margin, phase_crossover_frequency, phase_margin,
BodeData, BodePoint,
};
pub use nyquist::{
compute_nyquist, distance_to_critical, encirclement_count, is_stable_nyquist, NyquistData,
NyquistPoint,
};
pub use sensitivity::{
bandwidth, peak_sensitivity, sensitivity_crossover, Complex, LoopShaping, SensitivityData,
SensitivityPoint,
};
pub use root_locus::{compute_root_locus, stability_region, RootLocusData, RootLocusPoint};
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum FreqError {
InsufficientPoints,
InvalidFrequencyRange,
InvalidParameter,
OrderTooLarge,
}