[][src]Trait alga::general::AbstractMonoid

pub trait AbstractMonoid<O: Operator>: AbstractSemigroup<O> + Identity<O> {
    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
, { ... } }

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

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.

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.

Loading content...

Implementations on Foreign Types

impl AbstractMonoid<Additive> for u8[src]

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

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

impl AbstractMonoid<Additive> for u16[src]

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

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

impl AbstractMonoid<Additive> for u32[src]

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

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

impl AbstractMonoid<Additive> for u64[src]

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

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

impl AbstractMonoid<Additive> for usize[src]

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

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

impl AbstractMonoid<Multiplicative> for u8[src]

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

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

impl AbstractMonoid<Multiplicative> for u16[src]

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

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

impl AbstractMonoid<Multiplicative> for u32[src]

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

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

impl AbstractMonoid<Multiplicative> for u64[src]

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

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

impl AbstractMonoid<Multiplicative> for usize[src]

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

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

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

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

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

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

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

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

impl AbstractMonoid<Additive> for i8[src]

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

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

impl AbstractMonoid<Additive> for i16[src]

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

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

impl AbstractMonoid<Additive> for i32[src]

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

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

impl AbstractMonoid<Additive> for i64[src]

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

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

impl AbstractMonoid<Additive> for isize[src]

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

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

impl AbstractMonoid<Multiplicative> for i8[src]

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

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

impl AbstractMonoid<Multiplicative> for i16[src]

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

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

impl AbstractMonoid<Multiplicative> for i32[src]

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

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

impl AbstractMonoid<Multiplicative> for i64[src]

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

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

impl AbstractMonoid<Multiplicative> for isize[src]

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

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

impl AbstractMonoid<Additive> for f32[src]

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

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

impl AbstractMonoid<Additive> for f64[src]

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

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

impl AbstractMonoid<Multiplicative> for f32[src]

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

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

impl AbstractMonoid<Multiplicative> for f64[src]

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

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

Loading content...

Implementors

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

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

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

Loading content...