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
/*! # **rustool** Personal toolbox for my Rust projects ## Using **rustool** Simply add the following to your `Cargo.toml` file: ```.ignore [dependencies] rustool = "*" // replace * by the latest version of the crate ``` */ /// Main functionalities. pub mod core; pub use crate::core::*; extern crate alga; extern crate itertools; extern crate log; extern crate nalgebra as na; extern crate num_traits; extern crate simplelog; #[macro_use] extern crate approx; use na::{ Dynamic, Matrix, Matrix3xX, MatrixSlice3xX, RowDVector, SliceStorage, UnitVector3, Vector3, VectorSlice3, U1, U3, }; /// Type alias for [`RowDVector`]. The matrix has 1 row and X columns. pub type List<T> = RowDVector<T>; /// The matrix does not own the data and has 1 row and X columns. See [`List`] for list of owned /// data. pub type ListSlice<'a, T> = Matrix<T, U1, Dynamic, SliceStorage<'a, T, U1, Dynamic, U1, Dynamic>>; /// Type alias for [`Vector3`]. The matrix has 3 rows and 1 column. pub type Vector<T> = Vector3<T>; /// Type alias for [`VectorSlice3`]. The matrix does not own the data and has 3 rows and 1 column. /// See [`Vector`] for owned vector data. pub type VectorSlice<'a, T> = VectorSlice3<'a, T>; /// Type alias for [`UnitVector3`]. The matrix has 3 rows and 1 column. pub type Unit<T> = UnitVector3<T>; /// Type alias for [`Matrix3xX`]. The matrix has 3 rows and X columns. pub type Vectors<T> = Matrix3xX<T>; /// Type alias for [`MatrixSlice3xX`]. The matrix does not own the data and has 3 rows and X column. /// See [`Vectors`] for list of owned vector data. pub type VectorsSlice<'a, T> = MatrixSlice3xX<'a, T>; /// Type alias for [`Matrix3xX`]. The matrix has 3 rows and X columns. pub type VectorsGeneric<T, S> = Matrix<T, U3, Dynamic, S>;