Trait alga::general::AbstractSemigroup
[−]
[src]
pub trait AbstractSemigroup<O: Operator>: PartialEq + AbstractMagma<O> { fn prop_is_associative_approx(args: (Self, Self, Self)) -> bool where Self: ApproxEq { ... } fn prop_is_associative(args: (Self, Self, Self)) -> bool where Self: Eq { ... } }
An associative magma.
∀ a, b, c ∈ Self, (a ∘ b) ∘ c = a ∘ (b ∘ c)
Provided Methods
fn prop_is_associative_approx(args: (Self, Self, Self)) -> bool where Self: ApproxEq
Returns true if associativity holds for the given arguments. Approximate equality is used
for verifications.
fn prop_is_associative(args: (Self, Self, Self)) -> bool where Self: Eq
Returns true if associativity holds for the given arguments.
Implementors
impl AbstractSemigroup<Additive> for u8impl AbstractSemigroup<Additive> for u16impl AbstractSemigroup<Additive> for u32impl AbstractSemigroup<Additive> for u64impl AbstractSemigroup<Multiplicative> for u8impl AbstractSemigroup<Multiplicative> for u16impl AbstractSemigroup<Multiplicative> for u32impl AbstractSemigroup<Multiplicative> for u64impl AbstractSemigroup<Additive> for i8impl AbstractSemigroup<Additive> for i16impl AbstractSemigroup<Additive> for i32impl AbstractSemigroup<Additive> for i64impl AbstractSemigroup<Multiplicative> for i8impl AbstractSemigroup<Multiplicative> for i16impl AbstractSemigroup<Multiplicative> for i32impl AbstractSemigroup<Multiplicative> for i64impl AbstractSemigroup<Additive> for f32impl AbstractSemigroup<Additive> for f64impl AbstractSemigroup<Multiplicative> for f32impl AbstractSemigroup<Multiplicative> for f64impl<O: Operator> AbstractSemigroup<O> for Id<O>