automatica 1.0.0

Automatic control systems library
Documentation
//! # Automatic Control Systems Library
//!
//! ## State-Space representation
//!
//! [Generic state space](linear_system/index.html)
//!
//! [Continuous](linear_system/continuous/index.html)
//!
//! [Discrete](linear_system/discrete/index.html)
//!
//! [Solvers](linear_system/solver/index.html)
//!
//! ## Transfer function representation
//!
//! [Generic transfer function](transfer_function/index.html)
//!
//! [Continuous](transfer_function/continuous/index.html)
//!
//! [Discrete](transfer_function/discrete/index.html)
//!
//! [Matrix of transfer functions](transfer_function/matrix/index.html)
//!
//! [Transfer function discretization](transfer_function/discretization/index.html)
//!
//! ## Plots
//!
//! [Bode plot](plots/bode/index.html)
//!
//! [Polar plot](plots/polar/index.html)
//!
//! [Root locus](plots/root_locus/index.html)
//!
//! ## Controllers
//!
//! [Pid](controller/pid/struct.Pid.html)
//!
//! ## Rational funtions
//!
//! [Rational functions](rational_function/index.html)
//!
//! ## Polynomial extensions
//!
//! [Matrix of polynomials](polynomial_matrix/index.html)
//!
//! ## Units of measurement
//!
//! [Units](units/index.html)
//!
//! ## Complex numbers library
//!
//! [Complex numbers](complex/index.html)
//!
//! ## Signals
//!
//! [Continuous](signals/continuous/index.html)
//!
//! [Discrete](signals/discrete/index.html)

#![warn(
    rustdoc::missing_crate_level_docs,
    missing_debug_implementations,
    missing_docs,
    unreachable_pub
)]
#![recursion_limit = "20"]

#[cfg(test)]
#[macro_use]
extern crate approx;
#[cfg(not(test))]
pub extern crate approx;
pub extern crate nalgebra;

// Export from crate root.
pub use crate::complex::{damp, pulse, Complex};
pub use crate::enums::{Continuous, Discrete, Discretization, Time};
pub use crate::error::Error;
pub use crate::linear_system::{continuous::Ss, discrete::Ssd};
pub use crate::rational_function::Rf;
pub use crate::traits::*;
pub use crate::transfer_function::{
    continuous::Tf, discrete::Tfz, discretization::TfDiscretization, matrix::TfMatrix,
};
pub use crate::units::{Decibel, Hertz, RadiansPerSecond, Seconds};

pub mod complex;
pub mod controller;
pub mod enums;
pub mod error;
pub mod linear_system;
mod matrix;
pub mod plots;
pub mod polynomial_matrix;
pub mod rational_function;
pub mod signals;
mod traits;
pub mod transfer_function;
pub mod units;
mod wrappers;