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,
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,
Self: Eq,
Returns true
if associativity holds for the given arguments.
Implementors
impl AbstractSemigroup<Additive> for u8
impl AbstractSemigroup<Additive> for u16
impl AbstractSemigroup<Additive> for u32
impl AbstractSemigroup<Additive> for u64
impl AbstractSemigroup<Additive> for usize
impl AbstractSemigroup<Multiplicative> for u8
impl AbstractSemigroup<Multiplicative> for u16
impl AbstractSemigroup<Multiplicative> for u32
impl AbstractSemigroup<Multiplicative> for u64
impl AbstractSemigroup<Multiplicative> for usize
impl<N> AbstractSemigroup<Multiplicative> for Complex<N> where
N: Num + Clone + ClosedNeg,impl<N> AbstractSemigroup<Additive> for Complex<N> where
N: AbstractGroupAbelian<Additive>,impl AbstractSemigroup<Additive> for i8
impl AbstractSemigroup<Additive> for i16
impl AbstractSemigroup<Additive> for i32
impl AbstractSemigroup<Additive> for i64
impl AbstractSemigroup<Additive> for isize
impl AbstractSemigroup<Multiplicative> for i8
impl AbstractSemigroup<Multiplicative> for i16
impl AbstractSemigroup<Multiplicative> for i32
impl AbstractSemigroup<Multiplicative> for i64
impl AbstractSemigroup<Multiplicative> for isize
impl AbstractSemigroup<Additive> for f32
impl AbstractSemigroup<Additive> for f64
impl AbstractSemigroup<Multiplicative> for f32
impl AbstractSemigroup<Multiplicative> for f64
impl<O: Operator> AbstractSemigroup<O> for Id<O>