1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
//! # 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)
//!
//! ## 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)
//!
//! ## Polynomials
//!
//! [Polynomials](polynomial/index.html)
//!
//! [Matrix of polynomials](polynomial_matrix/index.html)
//!
//! ## Units of measurement
//!
//! [Units](units/index.html)
//!
//! ## Signals
//!
//! [Continuous](signals/continuous/index.html)
//!
//! [Discrete](signals/discrete/index.html)

#![warn(missing_docs)]

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

#[cfg(test)]
extern crate quickcheck;
#[cfg(test)]
#[macro_use(quickcheck)]
extern crate quickcheck_macros;

pub mod controller;
pub mod linear_system;
pub mod plots;
pub mod polynomial;
pub mod polynomial_matrix;
pub mod signals;
pub mod transfer_function;
pub mod units;
pub mod utils;

// Export from crate root.
pub use linear_system::{continuous::Ss, discrete::Ssd};
pub use polynomial::Poly;
pub use transfer_function::{
    continuous::Tf, discrete::Tfz, discretization::TfDiscretization, matrix::TfMatrix,
};
pub use units::{Decibel, Hertz, RadiansPerSecond, Seconds};
pub use utils::{Continuous, Discrete, Discretization, Time};