[go: up one dir, main page]

Trait AbstractLoop

Source
pub trait AbstractLoop<O: Operator>: AbstractQuasigroup<O> + Identity<O> { }
Expand description

A loop is a quasigroup with an unique identity element, e.

A set equipped with a closed binary operation possessing the divisibility property and a unique identity element.

§Identity element

∃! e ∈ Self, ∀ a ∈ Self, ∃ r, l ∈ Self such that l ∘ a = a ∘ r = e.

The left inverse r and right inverse l are not required to be equal.

This property follows from

∀ a ∈ Self, ∃ e ∈ Self, such that e ∘ a = a ∘ e = a.

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 AbstractLoop<Additive> for f32

Source§

impl AbstractLoop<Additive> for f64

Source§

impl AbstractLoop<Additive> for i8

Source§

impl AbstractLoop<Additive> for i16

Source§

impl AbstractLoop<Additive> for i32

Source§

impl AbstractLoop<Additive> for i64

Source§

impl AbstractLoop<Additive> for i128

Source§

impl AbstractLoop<Additive> for isize

Source§

impl AbstractLoop<Multiplicative> for f32

Source§

impl AbstractLoop<Multiplicative> for f64

Source§

impl<N> AbstractLoop<Additive> for Complex<N>

Source§

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

Implementors§

Source§

impl<O: Operator> AbstractLoop<O> for Id<O>