pub trait RingNormalize {
// Required methods
fn leading_unit(&self) -> Self;
fn normalize_mut(&mut self);
// Provided methods
fn into_normalize(self) -> Self
where Self: Sized { ... }
fn normalize(&self) -> Self
where Self: Clone { ... }
fn is_similar(&self, other: &Self) -> bool
where Self: Clone + Eq { ... }
}Expand description
Normarize ring element
abs(a) in $\mathbb{Z}$.
a/lc(a) in $R[x]$ (lc(x) is leading coefficent of x).
Required Methods§
fn leading_unit(&self) -> Self
fn normalize_mut(&mut self)
Provided Methods§
fn into_normalize(self) -> Selfwhere
Self: Sized,
fn normalize(&self) -> Selfwhere
Self: Clone,
fn is_similar(&self, other: &Self) -> bool
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.