#[cfg(any(feature = "alloc", feature = "std"))]
use crate::base::dimension::Dynamic;
use crate::base::dimension::{U1, U2, U3, U4, U5, U6};
#[cfg(any(feature = "std", feature = "alloc"))]
use crate::base::vec_storage::VecStorage;
use crate::base::storage::Owned;
use crate::base::Matrix;
#[deprecated(note = "This matrix name contains a typo. Use MatrixMN instead.")]
pub type MatrixNM<N, R, C> = Matrix<N, R, C, Owned<N, R, C>>;
pub type MatrixMN<N, R, C> = Matrix<N, R, C, Owned<N, R, C>>;
pub type MatrixN<N, D> = MatrixMN<N, D, D>;
#[cfg(any(feature = "std", feature = "alloc"))]
pub type DMatrix<N> = MatrixN<N, Dynamic>;
pub type Matrix1<N> = MatrixN<N, U1>;
pub type Matrix2<N> = MatrixN<N, U2>;
pub type Matrix3<N> = MatrixN<N, U3>;
pub type Matrix4<N> = MatrixN<N, U4>;
pub type Matrix5<N> = MatrixN<N, U5>;
pub type Matrix6<N> = MatrixN<N, U6>;
pub type Matrix1x2<N> = MatrixMN<N, U1, U2>;
pub type Matrix1x3<N> = MatrixMN<N, U1, U3>;
pub type Matrix1x4<N> = MatrixMN<N, U1, U4>;
pub type Matrix1x5<N> = MatrixMN<N, U1, U5>;
pub type Matrix1x6<N> = MatrixMN<N, U1, U6>;
pub type Matrix2x3<N> = MatrixMN<N, U2, U3>;
pub type Matrix2x4<N> = MatrixMN<N, U2, U4>;
pub type Matrix2x5<N> = MatrixMN<N, U2, U5>;
pub type Matrix2x6<N> = MatrixMN<N, U2, U6>;
pub type Matrix3x4<N> = MatrixMN<N, U3, U4>;
pub type Matrix3x5<N> = MatrixMN<N, U3, U5>;
pub type Matrix3x6<N> = MatrixMN<N, U3, U6>;
pub type Matrix4x5<N> = MatrixMN<N, U4, U5>;
pub type Matrix4x6<N> = MatrixMN<N, U4, U6>;
pub type Matrix5x6<N> = MatrixMN<N, U5, U6>;
pub type Matrix2x1<N> = MatrixMN<N, U2, U1>;
pub type Matrix3x1<N> = MatrixMN<N, U3, U1>;
pub type Matrix4x1<N> = MatrixMN<N, U4, U1>;
pub type Matrix5x1<N> = MatrixMN<N, U5, U1>;
pub type Matrix6x1<N> = MatrixMN<N, U6, U1>;
pub type Matrix3x2<N> = MatrixMN<N, U3, U2>;
pub type Matrix4x2<N> = MatrixMN<N, U4, U2>;
pub type Matrix5x2<N> = MatrixMN<N, U5, U2>;
pub type Matrix6x2<N> = MatrixMN<N, U6, U2>;
pub type Matrix4x3<N> = MatrixMN<N, U4, U3>;
pub type Matrix5x3<N> = MatrixMN<N, U5, U3>;
pub type Matrix6x3<N> = MatrixMN<N, U6, U3>;
pub type Matrix5x4<N> = MatrixMN<N, U5, U4>;
pub type Matrix6x4<N> = MatrixMN<N, U6, U4>;
pub type Matrix6x5<N> = MatrixMN<N, U6, U5>;
#[cfg(any(feature = "std", feature = "alloc"))]
pub type DVector<N> = Matrix<N, Dynamic, U1, VecStorage<N, Dynamic, U1>>;
pub type VectorN<N, D> = MatrixMN<N, D, U1>;
pub type Vector1<N> = VectorN<N, U1>;
pub type Vector2<N> = VectorN<N, U2>;
pub type Vector3<N> = VectorN<N, U3>;
pub type Vector4<N> = VectorN<N, U4>;
pub type Vector5<N> = VectorN<N, U5>;
pub type Vector6<N> = VectorN<N, U6>;
#[cfg(any(feature = "std", feature = "alloc"))]
pub type RowDVector<N> = Matrix<N, U1, Dynamic, VecStorage<N, U1, Dynamic>>;
pub type RowVectorN<N, D> = MatrixMN<N, U1, D>;
pub type RowVector1<N> = RowVectorN<N, U1>;
pub type RowVector2<N> = RowVectorN<N, U2>;
pub type RowVector3<N> = RowVectorN<N, U3>;
pub type RowVector4<N> = RowVectorN<N, U4>;
pub type RowVector5<N> = RowVectorN<N, U5>;
pub type RowVector6<N> = RowVectorN<N, U6>;