[][src]Trait alga::general::AbstractSemigroup

pub trait AbstractSemigroup<O: Operator>: PartialEq + AbstractMagma<O> {
    fn prop_is_associative_approx(args: (Self, Self, Self)) -> bool
    where
        Self: RelativeEq
, { ... }
fn prop_is_associative(args: (Self, Self, Self)) -> bool
    where
        Self: Eq
, { ... } }

A semigroup is a quasigroup that is associative.

A semigroup is a set equipped with a closed associative binary operation and that has the divisibility property.

Associativity

∀ a, b, c ∈ Self, (a ∘ b) ∘ c = a ∘ (b ∘ c)

Provided methods

fn prop_is_associative_approx(args: (Self, Self, Self)) -> bool where
    Self: RelativeEq

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.

Loading content...

Implementations on Foreign Types

impl AbstractSemigroup<Additive> for u8[src]

impl AbstractSemigroup<Additive> for u16[src]

impl AbstractSemigroup<Additive> for u32[src]

impl AbstractSemigroup<Additive> for u64[src]

impl AbstractSemigroup<Additive> for usize[src]

impl AbstractSemigroup<Multiplicative> for u8[src]

impl AbstractSemigroup<Multiplicative> for u16[src]

impl AbstractSemigroup<Multiplicative> for u32[src]

impl AbstractSemigroup<Multiplicative> for u64[src]

impl AbstractSemigroup<Multiplicative> for usize[src]

impl<N> AbstractSemigroup<Multiplicative> for Complex<N> where
    N: Num + Clone + ClosedNeg
[src]

impl<N> AbstractSemigroup<Additive> for Complex<N> where
    N: AbstractGroupAbelian<Additive>, 
[src]

impl AbstractSemigroup<Additive> for i8[src]

impl AbstractSemigroup<Additive> for i16[src]

impl AbstractSemigroup<Additive> for i32[src]

impl AbstractSemigroup<Additive> for i64[src]

impl AbstractSemigroup<Additive> for isize[src]

impl AbstractSemigroup<Multiplicative> for i8[src]

impl AbstractSemigroup<Multiplicative> for i16[src]

impl AbstractSemigroup<Multiplicative> for i32[src]

impl AbstractSemigroup<Multiplicative> for i64[src]

impl AbstractSemigroup<Multiplicative> for isize[src]

impl AbstractSemigroup<Additive> for f32[src]

impl AbstractSemigroup<Additive> for f64[src]

impl AbstractSemigroup<Multiplicative> for f32[src]

impl AbstractSemigroup<Multiplicative> for f64[src]

Loading content...

Implementors

impl<O: Operator> AbstractSemigroup<O> for Id<O>[src]

Loading content...