Trait sp_std::ops::MulAssign

1.8.0 · source · []
pub trait MulAssign<Rhs = Self> {
    fn mul_assign(&mut self, rhs: Rhs);
}
Expand description

The multiplication assignment operator *=.

Examples

use std::ops::MulAssign;

#[derive(Debug, PartialEq)]
struct Frequency { hertz: f64 }

impl MulAssign<f64> for Frequency {
    fn mul_assign(&mut self, rhs: f64) {
        self.hertz *= rhs;
    }
}

let mut frequency = Frequency { hertz: 50.0 };
frequency *= 4.0;
assert_eq!(Frequency { hertz: 200.0 }, frequency);

Required methods

Performs the *= operation.

Example
let mut x: u32 = 12;
x *= 2;
assert_eq!(x, 24);

Implementations on Foreign Types

Implementors

impl<'b> MulAssign<&'b Scalar> for Scalar

impl<'b> MulAssign<&'b Scalar> for MontgomeryPoint

impl<'b> MulAssign<&'b Scalar> for EdwardsPoint

impl<'b> MulAssign<&'b Scalar> for RistrettoPoint

impl<T, R: Dim, C: Dim, S> MulAssign<T> for Matrix<T, R, C, S> where
    T: Scalar + ClosedMul,
    S: StorageMut<T, R, C>, 

impl<T, R1, C1, R2, SA, SB> MulAssign<Matrix<T, R2, C1, SB>> for Matrix<T, R1, C1, SA> where
    R1: Dim,
    C1: Dim,
    R2: Dim,
    T: Scalar + Zero + One + ClosedAdd + ClosedMul,
    SB: Storage<T, R2, C1>,
    SA: ContiguousStorageMut<T, R1, C1> + Clone,
    ShapeConstraint: AreMultipliable<R1, C1, R2, C1>,
    DefaultAllocator: Allocator<T, R1, C1, Buffer = SA>, 

impl<'b, T, R1, C1, R2, SA, SB> MulAssign<&'b Matrix<T, R2, C1, SB>> for Matrix<T, R1, C1, SA> where
    R1: Dim,
    C1: Dim,
    R2: Dim,
    T: Scalar + Zero + One + ClosedAdd + ClosedMul,
    SB: Storage<T, R2, C1>,
    SA: ContiguousStorageMut<T, R1, C1> + Clone,
    ShapeConstraint: AreMultipliable<R1, C1, R2, C1>,
    DefaultAllocator: Allocator<T, R1, C1, Buffer = SA>, 

impl<T: Scalar + ClosedMul, const D: usize> MulAssign<T> for Point<T, D>

impl<T, const D: usize> MulAssign<Rotation<T, D>> for Rotation<T, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul

impl<'b, T, const D: usize> MulAssign<&'b Rotation<T, D>> for Rotation<T, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul

impl<T, const R1: usize, const C1: usize> MulAssign<Rotation<T, C1>> for SMatrix<T, R1, C1> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul

impl<'b, T, const R1: usize, const C1: usize> MulAssign<&'b Rotation<T, C1>> for SMatrix<T, R1, C1> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul

impl<T: SimdRealField> MulAssign<T> for Quaternion<T> where
    T::Element: SimdRealField

impl<'b, T: SimdRealField> MulAssign<&'b Quaternion<T>> for Quaternion<T> where
    T::Element: SimdRealField

impl<T: SimdRealField> MulAssign<Quaternion<T>> for Quaternion<T> where
    T::Element: SimdRealField

impl<'b, T: SimdRealField> MulAssign<&'b Unit<Quaternion<T>>> for UnitQuaternion<T> where
    T::Element: SimdRealField

impl<T: SimdRealField> MulAssign<Unit<Quaternion<T>>> for UnitQuaternion<T> where
    T::Element: SimdRealField

impl<'b, T: SimdRealField> MulAssign<&'b Rotation<T, 3_usize>> for UnitQuaternion<T> where
    T::Element: SimdRealField

impl<T: SimdRealField> MulAssign<Rotation<T, 3_usize>> for UnitQuaternion<T> where
    T::Element: SimdRealField

impl<'b, T: SimdRealField> MulAssign<&'b DualQuaternion<T>> for DualQuaternion<T> where
    T::Element: SimdRealField

impl<'b, T: SimdRealField> MulAssign<&'b Unit<DualQuaternion<T>>> for DualQuaternion<T> where
    T::Element: SimdRealField

impl<'b, T: SimdRealField> MulAssign<&'b Unit<DualQuaternion<T>>> for UnitDualQuaternion<T> where
    T::Element: SimdRealField

impl<'b, T: SimdRealField> MulAssign<&'b Unit<Quaternion<T>>> for UnitDualQuaternion<T> where
    T::Element: SimdRealField

impl<T: SimdRealField> MulAssign<Translation<T, 3_usize>> for UnitDualQuaternion<T> where
    T::Element: SimdRealField

impl<'b, T: SimdRealField> MulAssign<&'b Translation<T, 3_usize>> for UnitDualQuaternion<T> where
    T::Element: SimdRealField

impl<'b, T: SimdRealField> MulAssign<&'b Isometry<T, Unit<Quaternion<T>>, 3_usize>> for UnitDualQuaternion<T> where
    T::Element: SimdRealField

impl<T: SimdRealField> MulAssign<Isometry<T, Unit<Quaternion<T>>, 3_usize>> for UnitDualQuaternion<T> where
    T::Element: SimdRealField

impl<T: SimdRealField> MulAssign<T> for DualQuaternion<T> where
    T::Element: SimdRealField

impl<T: SimdRealField> MulAssign<Unit<Complex<T>>> for UnitComplex<T> where
    T::Element: SimdRealField

impl<'b, T: SimdRealField> MulAssign<&'b Unit<Complex<T>>> for UnitComplex<T> where
    T::Element: SimdRealField

impl<T: SimdRealField> MulAssign<Rotation<T, 2_usize>> for UnitComplex<T> where
    T::Element: SimdRealField

impl<'b, T: SimdRealField> MulAssign<&'b Rotation<T, 2_usize>> for UnitComplex<T> where
    T::Element: SimdRealField

impl<T: SimdRealField> MulAssign<Unit<Complex<T>>> for Rotation<T, 2> where
    T::Element: SimdRealField

impl<'b, T: SimdRealField> MulAssign<&'b Unit<Complex<T>>> for Rotation<T, 2> where
    T::Element: SimdRealField

impl<'b, T, const D: usize> MulAssign<&'b Translation<T, D>> for Translation<T, D> where
    T: Scalar + ClosedAdd

impl<T, const D: usize> MulAssign<Translation<T, D>> for Translation<T, D> where
    T: Scalar + ClosedAdd

impl<T: SimdRealField, R, const D: usize> MulAssign<Translation<T, D>> for Isometry<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 

impl<'b, T: SimdRealField, R, const D: usize> MulAssign<&'b Translation<T, D>> for Isometry<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 

impl<T: SimdRealField, R, const D: usize> MulAssign<Isometry<T, R, D>> for Isometry<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 

impl<'b, T: SimdRealField, R, const D: usize> MulAssign<&'b Isometry<T, R, D>> for Isometry<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 

impl<T, const D: usize> MulAssign<Rotation<T, D>> for Isometry<T, Rotation<T, D>, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField

impl<'b, T, const D: usize> MulAssign<&'b Rotation<T, D>> for Isometry<T, Rotation<T, D>, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField

impl<T> MulAssign<Unit<Quaternion<T>>> for Isometry<T, UnitQuaternion<T>, 3> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField

impl<'b, T> MulAssign<&'b Unit<Quaternion<T>>> for Isometry<T, UnitQuaternion<T>, 3> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField

impl<T> MulAssign<Unit<Complex<T>>> for Isometry<T, UnitComplex<T>, 2> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField

impl<'b, T> MulAssign<&'b Unit<Complex<T>>> for Isometry<T, UnitComplex<T>, 2> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField

impl<T: SimdRealField, R, const D: usize> MulAssign<Translation<T, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 

impl<'b, T: SimdRealField, R, const D: usize> MulAssign<&'b Translation<T, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 

impl<T: SimdRealField, R, const D: usize> MulAssign<Similarity<T, R, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 

impl<'b, T: SimdRealField, R, const D: usize> MulAssign<&'b Similarity<T, R, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 

impl<T: SimdRealField, R, const D: usize> MulAssign<Isometry<T, R, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 

impl<'b, T: SimdRealField, R, const D: usize> MulAssign<&'b Isometry<T, R, D>> for Similarity<T, R, D> where
    T::Element: SimdRealField,
    R: AbstractRotation<T, D>, 

impl<T, const D: usize> MulAssign<Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField

impl<'b, T, const D: usize> MulAssign<&'b Rotation<T, D>> for Similarity<T, Rotation<T, D>, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField

impl<T> MulAssign<Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField

impl<'b, T> MulAssign<&'b Unit<Quaternion<T>>> for Similarity<T, UnitQuaternion<T>, 3> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField

impl<T> MulAssign<Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField

impl<'b, T> MulAssign<&'b Unit<Complex<T>>> for Similarity<T, UnitComplex<T>, 2> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + SimdRealField,
    T::Element: SimdRealField

impl<T, CA, CB, const D: usize> MulAssign<Transform<T, CB, D>> for Transform<T, CA, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    Const<D>: DimNameAdd<U1>,
    CA: TCategory,
    CB: SubTCategoryOf<CA>,
    DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 

impl<'b, T, CA, CB, const D: usize> MulAssign<&'b Transform<T, CB, D>> for Transform<T, CA, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    Const<D>: DimNameAdd<U1>,
    CA: TCategory,
    CB: SubTCategoryOf<CA>,
    DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 

impl<T, C, R, const D: usize> MulAssign<Similarity<T, R, D>> for Transform<T, C, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    Const<D>: DimNameAdd<U1>,
    C: TCategory,
    R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
    DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 

impl<'b, T, C, R, const D: usize> MulAssign<&'b Similarity<T, R, D>> for Transform<T, C, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    Const<D>: DimNameAdd<U1>,
    C: TCategory,
    R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
    DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 

impl<T, C, R, const D: usize> MulAssign<Isometry<T, R, D>> for Transform<T, C, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    Const<D>: DimNameAdd<U1>,
    C: TCategory,
    R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
    DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 

impl<'b, T, C, R, const D: usize> MulAssign<&'b Isometry<T, R, D>> for Transform<T, C, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    Const<D>: DimNameAdd<U1>,
    C: TCategory,
    R: SubsetOf<OMatrix<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>>,
    DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 

impl<T, C, const D: usize> MulAssign<Translation<T, D>> for Transform<T, C, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    Const<D>: DimNameAdd<U1>,
    C: TCategory,
    DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 

impl<'b, T, C, const D: usize> MulAssign<&'b Translation<T, D>> for Transform<T, C, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    Const<D>: DimNameAdd<U1>,
    C: TCategory,
    DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 

impl<T, C, const D: usize> MulAssign<Rotation<T, D>> for Transform<T, C, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    Const<D>: DimNameAdd<U1>,
    C: TCategory,
    DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 

impl<'b, T, C, const D: usize> MulAssign<&'b Rotation<T, D>> for Transform<T, C, D> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    Const<D>: DimNameAdd<U1>,
    C: TCategory,
    DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>, 

impl<T, C> MulAssign<Unit<Quaternion<T>>> for Transform<T, C, 3> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    C: TCategory

impl<'b, T, C> MulAssign<&'b Unit<Quaternion<T>>> for Transform<T, C, 3> where
    T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
    C: TCategory

impl<'a> MulAssign<&'a BigInt> for BigInt

impl MulAssign<u8> for BigInt

impl MulAssign<u16> for BigInt

impl MulAssign<i8> for BigInt

impl MulAssign<i16> for BigInt

impl MulAssign<u32> for BigInt

impl MulAssign<u64> for BigInt

impl MulAssign<i32> for BigInt

impl MulAssign<i64> for BigInt

impl<'a> MulAssign<&'a BigUint> for BigUint

impl MulAssign<u8> for BigUint

impl<T: Clone + NumAssign> MulAssign<Complex<T>> for Complex<T>

impl<T: Clone + NumAssign> MulAssign<T> for Complex<T>

impl<'a, T: Clone + NumAssign> MulAssign<&'a Complex<T>> for Complex<T>

impl<'a, T: Clone + NumAssign> MulAssign<&'a T> for Complex<T>

impl<T: Clone + Integer + NumAssign> MulAssign<Ratio<T>> for Ratio<T>

impl<T: Clone + Integer + NumAssign> MulAssign<T> for Ratio<T>

impl<'a, T: Clone + Integer + NumAssign> MulAssign<&'a Ratio<T>> for Ratio<T>

impl<'a, T: Clone + Integer + NumAssign> MulAssign<&'a T> for Ratio<T>

impl MulAssign<U128> for U128

impl MulAssign<u8> for U128

impl MulAssign<u16> for U128

impl MulAssign<u32> for U128

impl MulAssign<u64> for U128

impl MulAssign<usize> for U128

impl MulAssign<i8> for U128

impl MulAssign<i16> for U128

impl MulAssign<i32> for U128

impl MulAssign<i64> for U128

impl MulAssign<isize> for U128

impl MulAssign<U256> for U256

impl MulAssign<u8> for U256

impl MulAssign<u16> for U256

impl MulAssign<u32> for U256

impl MulAssign<u64> for U256

impl MulAssign<usize> for U256

impl MulAssign<i8> for U256

impl MulAssign<i16> for U256

impl MulAssign<i32> for U256

impl MulAssign<i64> for U256

impl MulAssign<isize> for U256

impl MulAssign<U512> for U512

impl MulAssign<u8> for U512

impl MulAssign<u16> for U512

impl MulAssign<u32> for U512

impl MulAssign<u64> for U512

impl MulAssign<usize> for U512

impl MulAssign<i8> for U512

impl MulAssign<i16> for U512

impl MulAssign<i32> for U512

impl MulAssign<i64> for U512

impl MulAssign<isize> for U512

impl<'a> MulAssign<&'a Field> for Field

impl<'a> MulAssign<&'a Scalar> for Scalar