Ring

Trait Ring 

Source
pub trait Ring:
    AddGrp
    + Mon
    + RingOps
where for<'a> &'a Self: RingOps<Self>,
{ // Required methods fn inv(&self) -> Option<Self>; fn is_unit(&self) -> bool; fn normalizing_unit(&self) -> Self; // Provided methods fn from_sign(s: Sign) -> Self { ... } fn normalized(&self) -> Self { ... } fn into_normalized(self) -> Self { ... } fn is_pm_one(&self) -> bool { ... } fn c_weight(&self) -> f64 { ... } }

Required Methods§

Source

fn inv(&self) -> Option<Self>

Source

fn is_unit(&self) -> bool

Source

fn normalizing_unit(&self) -> Self

Provided Methods§

Source

fn from_sign(s: Sign) -> Self

Source

fn normalized(&self) -> Self

Source

fn into_normalized(self) -> Self

Source

fn is_pm_one(&self) -> bool

Source

fn c_weight(&self) -> f64

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

Source§

fn inv(&self) -> Option<Self>

Source§

fn is_unit(&self) -> bool

Source§

fn normalizing_unit(&self) -> Self

Source§

fn c_weight(&self) -> f64

Source§

impl Ring for i64

Source§

fn inv(&self) -> Option<Self>

Source§

fn is_unit(&self) -> bool

Source§

fn normalizing_unit(&self) -> Self

Source§

fn c_weight(&self) -> f64

Source§

impl Ring for i128

Source§

fn inv(&self) -> Option<Self>

Source§

fn is_unit(&self) -> bool

Source§

fn normalizing_unit(&self) -> Self

Source§

fn c_weight(&self) -> f64

Source§

impl Ring for BigInt

Source§

fn inv(&self) -> Option<Self>

Source§

fn is_unit(&self) -> bool

Source§

fn normalizing_unit(&self) -> Self

Source§

fn c_weight(&self) -> f64

Implementors§

Source§

impl Ring for FF2

Source§

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

Source§

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

Source§

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

Source§

impl<const X: char, R> Ring for HPoly<X, R>
where R: Ring, for<'x> &'x R: RingOps<R>,

Source§

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