12345678910111213141516171819202122232425 |
- //! 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};
- #[cfg(feature = "matrix")]
- pub use self::types::{ColumnVector, GenericMatrix, Matrix, MatrixMut, RowVector, SquareMatrix, View, ViewMut};
- #[cfg(feature = "angular")]
- pub use self::types::{Angular, Degree, Radiant};
- #[cfg(feature = "complex")]
- pub use self::types::Complex;
- #[cfg(feature = "quaternion")]
- pub use self::types::Quaternion;
- mod traits;
- mod types;
|