logo
pub trait VectorSpace: Add<Output = Self> + Adjunct<Item = Self::Scalar> + Converged + Copy + Fold + PartialEq + Mul<Self::Scalar, Output = Self> + Neg<Output = Self> + ZipMap<Self::Scalar, Output = Self> {
    type Scalar: AbsDiffEq + NumCast + Real;

Show 15 methods fn scalar_component(&self, index: usize) -> Option<Self::Scalar>; fn from_x(x: Self::Scalar) -> Self
    where
        Self: Basis + FiniteDimensional<N = U1>
, { ... } fn from_xy(x: Self::Scalar, y: Self::Scalar) -> Self
    where
        Self: Basis + FiniteDimensional<N = U2>
, { ... } fn from_xyz(x: Self::Scalar, y: Self::Scalar, z: Self::Scalar) -> Self
    where
        Self: Basis + FiniteDimensional<N = U3>
, { ... } fn into_x(self) -> Self::Scalar
    where
        Self: FiniteDimensional<N = U1>
, { ... } fn into_xy(self) -> (Self::Scalar, Self::Scalar)
    where
        Self: FiniteDimensional<N = U2>
, { ... } fn into_xyz(self) -> (Self::Scalar, Self::Scalar, Self::Scalar)
    where
        Self: FiniteDimensional<N = U3>
, { ... } fn x(&self) -> Self::Scalar
    where
        Self: FiniteDimensional,
        Self::N: Cmp<U0, Output = Greater>
, { ... } fn y(&self) -> Self::Scalar
    where
        Self: FiniteDimensional,
        Self::N: Cmp<U1, Output = Greater>
, { ... } fn z(&self) -> Self::Scalar
    where
        Self: FiniteDimensional,
        Self::N: Cmp<U2, Output = Greater>
, { ... } fn zero() -> Self { ... } fn is_zero(&self) -> bool { ... } fn from_homogeneous(vector: Self::ProjectiveSpace) -> Option<Self>
    where
        Self: Homogeneous,
        Self::ProjectiveSpace: Truncate<Self> + VectorSpace<Scalar = Self::Scalar>
, { ... } fn into_homogeneous(self) -> Self::ProjectiveSpace
    where
        Self: Homogeneous + Extend<<Self as Homogeneous>::ProjectiveSpace>,
        Self::ProjectiveSpace: VectorSpace<Scalar = Self::Scalar>
, { ... } fn mean<I>(vectors: I) -> Option<Self>
    where
        I: IntoIterator<Item = Self>
, { ... }
}

Required Associated Types

Required Methods

Provided Methods

Implementations on Foreign Types

Implementors