[][src]Trait alga::general::AbstractRing

pub trait AbstractRing<A: Operator = Additive, M: Operator = Multiplicative>: AbstractGroupAbelian<A> + AbstractMonoid<M> {
    fn prop_mul_and_add_are_distributive_approx(
        args: (Self, Self, Self)
    ) -> bool
    where
        Self: RelativeEq
, { ... }
fn prop_mul_and_add_are_distributive(args: (Self, Self, Self)) -> bool
    where
        Self: Eq
, { ... } }

A ring is the combination of an Abelian group and a multiplicative monoid structure.

A ring is equipped with:

  • An abstract operator (usually the addition, "+") that fulfills the constraints of an Abelian group.

    An Abelian group is a set with a closed commutative and associative addition with the divisibility property and an identity element.

  • A second abstract operator (usually the multiplication, "×") that fulfills the constraints of a monoid.

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

The multiplication is distributive over the addition:

Distributivity

a, b, c ∈ Self, a × (b + c) = a × b + a × c.

Provided methods

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

Returns true if the multiplication and addition operators are distributive for the given argument tuple. Approximate equality is used for verifications.

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

Returns true if the multiplication and addition operators are distributive for the given argument tuple.

Loading content...

Implementations on Foreign Types

impl AbstractRing<Additive, Multiplicative> for i8[src]

impl AbstractRing<Additive, Multiplicative> for i16[src]

impl AbstractRing<Additive, Multiplicative> for i32[src]

impl AbstractRing<Additive, Multiplicative> for i64[src]

impl AbstractRing<Additive, Multiplicative> for isize[src]

impl AbstractRing<Additive, Multiplicative> for f32[src]

impl AbstractRing<Additive, Multiplicative> for f64[src]

impl<N: Num + Clone + ClosedNeg + AbstractRing> AbstractRing<Additive, Multiplicative> for Complex<N>[src]

Loading content...

Implementors

Loading content...