[][src]Trait maths_traits::algebra::group_like::additive::AddAssociative

pub trait AddAssociative { }

A marker trait for stucts whose addition operation is evaluation order independent, ie x+(y+z)=(x+y)+z for all x, y, and z.

This is an extremely common property, and most commonly used algebraic systems have it. Nonetheless, there are some algebraic constructions like loop concatenation, the cross product, lie algebras, and octonions that do not have this property, so the option to not implement it exists.

Note however, it is highly recommended to implement non-associative structs as multiplicative to be consistent with convention.

Implementations on Foreign Types

impl AddAssociative for usize[src]

impl AddAssociative for Wrapping<usize>[src]

impl AddAssociative for u8[src]

impl AddAssociative for Wrapping<u8>[src]

impl AddAssociative for u16[src]

impl AddAssociative for Wrapping<u16>[src]

impl AddAssociative for u32[src]

impl AddAssociative for Wrapping<u32>[src]

impl AddAssociative for u64[src]

impl AddAssociative for Wrapping<u64>[src]

impl AddAssociative for u128[src]

impl AddAssociative for Wrapping<u128>[src]

impl AddAssociative for isize[src]

impl AddAssociative for Wrapping<isize>[src]

impl AddAssociative for i8[src]

impl AddAssociative for Wrapping<i8>[src]

impl AddAssociative for i16[src]

impl AddAssociative for Wrapping<i16>[src]

impl AddAssociative for i32[src]

impl AddAssociative for Wrapping<i32>[src]

impl AddAssociative for i64[src]

impl AddAssociative for Wrapping<i64>[src]

impl AddAssociative for i128[src]

impl AddAssociative for Wrapping<i128>[src]

impl AddAssociative for f32[src]

impl AddAssociative for f64[src]

Loading content...

Implementors

Loading content...