Trait alga::general::AbstractSemigroup

source ·
pub trait AbstractSemigroup<O: Operator>: PartialEq + AbstractMagma<O> {
    // Provided methods
    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 { ... }
}
Expand description

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§

source

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.

source

fn prop_is_associative(args: (Self, Self, Self)) -> bool
where Self: Eq,

Returns true if associativity holds for the given arguments.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl AbstractSemigroup<Additive> for f32

source§

impl AbstractSemigroup<Additive> for f64

source§

impl AbstractSemigroup<Additive> for i8

source§

impl AbstractSemigroup<Additive> for i16

source§

impl AbstractSemigroup<Additive> for i32

source§

impl AbstractSemigroup<Additive> for i64

source§

impl AbstractSemigroup<Additive> for i128

source§

impl AbstractSemigroup<Additive> for isize

source§

impl AbstractSemigroup<Additive> for u8

source§

impl AbstractSemigroup<Additive> for u16

source§

impl AbstractSemigroup<Additive> for u32

source§

impl AbstractSemigroup<Additive> for u64

source§

impl AbstractSemigroup<Additive> for u128

source§

impl AbstractSemigroup<Additive> for usize

source§

impl AbstractSemigroup<Multiplicative> for f32

source§

impl AbstractSemigroup<Multiplicative> for f64

source§

impl AbstractSemigroup<Multiplicative> for i8

source§

impl AbstractSemigroup<Multiplicative> for i16

source§

impl AbstractSemigroup<Multiplicative> for i32

source§

impl AbstractSemigroup<Multiplicative> for i64

source§

impl AbstractSemigroup<Multiplicative> for i128

source§

impl AbstractSemigroup<Multiplicative> for isize

source§

impl AbstractSemigroup<Multiplicative> for u8

source§

impl AbstractSemigroup<Multiplicative> for u16

source§

impl AbstractSemigroup<Multiplicative> for u32

source§

impl AbstractSemigroup<Multiplicative> for u64

source§

impl AbstractSemigroup<Multiplicative> for u128

source§

impl AbstractSemigroup<Multiplicative> for usize

source§

impl<N> AbstractSemigroup<Additive> for Complex<N>

source§

impl<N> AbstractSemigroup<Multiplicative> for Complex<N>
where N: Num + Clone + ClosedNeg,

Implementors§