Trait alga::general::AbstractQuasigroup
[−]
[src]
pub trait AbstractQuasigroup<O: Operator>: PartialEq + AbstractMagma<O> + Inverse<O> { fn prop_inv_is_latin_square_approx(args: (Self, Self)) -> bool where Self: ApproxEq { ... } fn prop_inv_is_latin_square(args: (Self, Self)) -> bool where Self: Eq { ... } }
A magma with the divisibility property.
Divisibility is a weak form of right and left invertibility:
∀ a, b ∈ Self, ∃! r, l ∈ Self such that l ∘ a = b and a ∘ r = b
Provided Methods
fn prop_inv_is_latin_square_approx(args: (Self, Self)) -> bool where Self: ApproxEq
Returns true
if latin squareness holds for the given arguments. Approximate
equality is used for verifications.
fn prop_inv_is_latin_square(args: (Self, Self)) -> bool where Self: Eq
Returns true
if latin squareness holds for the given arguments.
Implementors
impl AbstractQuasigroup<Additive> for i8
impl AbstractQuasigroup<Additive> for i16
impl AbstractQuasigroup<Additive> for i32
impl AbstractQuasigroup<Additive> for i64
impl AbstractQuasigroup<Additive> for f32
impl AbstractQuasigroup<Additive> for f64
impl AbstractQuasigroup<Multiplicative> for f32
impl AbstractQuasigroup<Multiplicative> for f64
impl<O: Operator> AbstractQuasigroup<O> for Id<O>