//! This is a LINEar ALgebra library.
//!
//! Most stuff works with the traits `Float`, `Numeric` and `Primitive` in some combination.
//!
//! The combination `Float + Numeric` allows `f32`, `f64`, `Complex<f32>` and `Complex<f64>`,
//! whereas `Float + Numeric + Primitive` would only allow `f32` and `f64`.
//! This trick is used to prevent e.g. `Complex<Complex<f32>>`, as that would not make sense.
//!
//! There are no complex numbers with integral types, as these would be rather impractical
//! when calculating basically anything.
//!
//! As a consequence the complex types `Complex<f32>` and `Complex<f64>` are also considered
//! `Float` in our context.
pub use self::traits::{Float, Numeric, Primitive};
pub use self::types::Complex;

mod traits;
mod types;