EucRing

Trait EucRing 

Source
pub trait EucRing:
    Ring
    + EucRingOps
    + DivAssign
    + for<'a> DivAssign<&'a Self>
    + RemAssign
    + for<'a> RemAssign<&'a Self>
where for<'a> &'a Self: EucRingOps<Self>,
{ // Provided methods fn divides(&self, y: &Self) -> bool { ... } fn gcd(x: &Self, y: &Self) -> Self { ... } fn gcdx(x: &Self, y: &Self) -> (Self, Self, Self) { ... } fn lcm(x: &Self, y: &Self) -> Self { ... } }

Provided Methods§

Source

fn divides(&self, y: &Self) -> bool

Source

fn gcd(x: &Self, y: &Self) -> Self

Source

fn gcdx(x: &Self, y: &Self) -> (Self, Self, Self)

Source

fn lcm(x: &Self, y: &Self) -> Self

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 EucRing for i32

Source§

fn gcd(x: &Self, y: &Self) -> Self

Source§

fn gcdx(x: &Self, y: &Self) -> (Self, Self, Self)

Source§

fn lcm(x: &Self, y: &Self) -> Self

Source§

impl EucRing for i64

Source§

fn gcd(x: &Self, y: &Self) -> Self

Source§

fn gcdx(x: &Self, y: &Self) -> (Self, Self, Self)

Source§

fn lcm(x: &Self, y: &Self) -> Self

Source§

impl EucRing for i128

Source§

fn gcd(x: &Self, y: &Self) -> Self

Source§

fn gcdx(x: &Self, y: &Self) -> (Self, Self, Self)

Source§

fn lcm(x: &Self, y: &Self) -> Self

Source§

impl EucRing for BigInt

Source§

fn gcd(x: &Self, y: &Self) -> Self

Source§

fn gcdx(x: &Self, y: &Self) -> (Self, Self, Self)

Source§

fn lcm(x: &Self, y: &Self) -> Self

Implementors§

Source§

impl EucRing for FF2

Source§

impl<I> EucRing for QuadInt<I, -1>
where I: Integer, for<'x> &'x I: IntOps<I>,

Source§

impl<I> EucRing for QuadInt<I, -3>
where I: Integer, for<'x> &'x I: IntOps<I>,

Source§

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

Source§

impl<const X: char, R> EucRing for HPoly<X, R>
where R: Field, for<'x> &'x R: FieldOps<R>,

Source§

impl<const X: char, R> EucRing for Poly<X, R>
where R: Field, for<'x> &'x R: FieldOps<R>,

Source§

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