Skip to main content

Mon

Trait Mon 

Source
pub trait Mon:
    MathType
    + One
    + MonOps
    + MulAssign
    + for<'a> MulAssign<&'a Self>
where for<'a> &'a Self: MonOps<Self>,
{ // Provided method fn product<A, I>(itr: I) -> Self where Self: MulAssign<A>, I: IntoIterator<Item = A> { ... } }
Expand description

A multiplicative monoid: a set with associative multiplication · and identity One.

Not assumed commutative.

See: https://en.wikipedia.org/wiki/Monoid

Provided Methods§

Source

fn product<A, I>(itr: I) -> Self
where Self: MulAssign<A>, I: IntoIterator<Item = A>,

Multiply an iterator of factors into Self, folding with *=.

A is any type for which Self: MulAssign<A> — typically Self or &Self.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl Mon for BigInt

Source§

impl Mon for i32

Source§

impl Mon for i64

Source§

impl Mon for i128

Implementors§

Source§

impl Mon for FF2

Source§

impl<I, const D: i32> Mon for QuadInt<I, D>
where I: IntType, for<'x> &'x I: IntOps<I>,

Source§

impl<T> Mon for Ratio<T>
where T: EucRing, for<'x> &'x T: EucRingOps<T>,

Source§

impl<X, R> Mon for PolyBase<X, R>
where X: Mono, R: Ring, for<'x> &'x R: RingOps<R>,

Source§

impl<const p: i32> Mon for FF<p>