//! 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;