[go: up one dir, main page]

Trait AbstractMonoid

Source
pub trait AbstractMonoid<O: Operator>: AbstractSemigroup<O> + Identity<O> {
    // Provided methods
    fn prop_operating_identity_element_is_noop_approx(args: (Self,)) -> bool
       where Self: RelativeEq { ... }
    fn prop_operating_identity_element_is_noop(args: (Self,)) -> bool
       where Self: Eq { ... }
}
Expand description

A monoid is a semigroup equipped with an identity element, e.

A set equipped with a closed associative binary operation with the divisibility property and an identity element.

§Identity element

∃ e ∈ Self, ∀ a ∈ Self, e ∘ a = a ∘ e = a

Provided Methods§

Source

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

Checks whether operating with the identity element is a no-op for the given argument. Approximate equality is used for verifications.

Source

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

Checks whether operating with the identity element is a no-op for the given argument.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl AbstractMonoid<Additive> for f32

Source§

impl AbstractMonoid<Additive> for f64

Source§

impl AbstractMonoid<Additive> for i8

Source§

impl AbstractMonoid<Additive> for i16

Source§

impl AbstractMonoid<Additive> for i32

Source§

impl AbstractMonoid<Additive> for i64

Source§

impl AbstractMonoid<Additive> for i128

Source§

impl AbstractMonoid<Additive> for isize

Source§

impl AbstractMonoid<Additive> for u8

Source§

impl AbstractMonoid<Additive> for u16

Source§

impl AbstractMonoid<Additive> for u32

Source§

impl AbstractMonoid<Additive> for u64

Source§

impl AbstractMonoid<Additive> for u128

Source§

impl AbstractMonoid<Additive> for usize

Source§

impl AbstractMonoid<Multiplicative> for f32

Source§

impl AbstractMonoid<Multiplicative> for f64

Source§

impl AbstractMonoid<Multiplicative> for i8

Source§

impl AbstractMonoid<Multiplicative> for i16

Source§

impl AbstractMonoid<Multiplicative> for i32

Source§

impl AbstractMonoid<Multiplicative> for i64

Source§

impl AbstractMonoid<Multiplicative> for i128

Source§

impl AbstractMonoid<Multiplicative> for isize

Source§

impl AbstractMonoid<Multiplicative> for u8

Source§

impl AbstractMonoid<Multiplicative> for u16

Source§

impl AbstractMonoid<Multiplicative> for u32

Source§

impl AbstractMonoid<Multiplicative> for u64

Source§

impl AbstractMonoid<Multiplicative> for u128

Source§

impl AbstractMonoid<Multiplicative> for usize

Source§

impl<N> AbstractMonoid<Additive> for Complex<N>

Source§

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

Implementors§