[−][src]Struct abstalg::QuotientField
A quotient field of an Euclidean domain by a principal ideal generated by an irreducible (prime) element.
Implementations
impl<R: EuclideanDomain> QuotientField<R>
[src]
pub fn new(base: R, modulo: R::Elem) -> Self
[src]
Creates a field from the given Euclidean domain and one of its irreducible (prime) element. This method does not check that the modulo is indeed irreducible. If this fails, then calculating the multiplicative inverse of some elements may panic.
pub fn base(&self) -> &R
[src]
Returns the base ring from which this field was constructed.
pub fn modulo(&self) -> &R::Elem
[src]
Returns the modulo element from which this field was constructed.
Trait Implementations
impl<R: Clone + EuclideanDomain> Clone for QuotientField<R> where
R::Elem: Clone,
[src]
R::Elem: Clone,
fn clone(&self) -> QuotientField<R>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<R: Debug + EuclideanDomain> Debug for QuotientField<R> where
R::Elem: Debug,
[src]
R::Elem: Debug,
impl<R: Default + EuclideanDomain> Default for QuotientField<R> where
R::Elem: Default,
[src]
R::Elem: Default,
fn default() -> QuotientField<R>
[src]
impl<R: EuclideanDomain> Domain for QuotientField<R>
[src]
type Elem = R::Elem
The type of the elements of this domain.
fn contains(&self, elem: &Self::Elem) -> bool
[src]
impl<R: EuclideanDomain> EuclideanDomain for QuotientField<R>
[src]
fn quo_rem(
&self,
elem1: &Self::Elem,
elem2: &Self::Elem
) -> (Self::Elem, Self::Elem)
[src]
&self,
elem1: &Self::Elem,
elem2: &Self::Elem
) -> (Self::Elem, Self::Elem)
fn associate_repr(&self, elem: &Self::Elem) -> (Self::Elem, Self::Elem)
[src]
fn quo(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> Self::Elem
[src]
fn rem(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> Self::Elem
[src]
fn is_multiple_of(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> bool
[src]
fn is_reduced(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> bool
[src]
fn are_associates(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> bool
[src]
fn is_unit(&self, elem: &Self::Elem) -> bool
[src]
fn gcd(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> Self::Elem
[src]
fn lcm(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> Self::Elem
[src]
fn extended_gcd(
&self,
elem1: &Self::Elem,
elem2: &Self::Elem
) -> (Self::Elem, Self::Elem, Self::Elem)
[src]
&self,
elem1: &Self::Elem,
elem2: &Self::Elem
) -> (Self::Elem, Self::Elem, Self::Elem)
fn are_relative_primes(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> bool
[src]
impl<R: EuclideanDomain> Field for QuotientField<R>
[src]
fn inv(&self, elem: &Self::Elem) -> Self::Elem
[src]
fn div(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> Self::Elem
[src]
impl<R: EuclideanDomain> IntegralDomain for QuotientField<R>
[src]
impl<R: EuclideanDomain> UnitaryRing for QuotientField<R>
[src]
fn zero(&self) -> Self::Elem
[src]
fn neg(&self, elem: &Self::Elem) -> Self::Elem
[src]
fn add(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> Self::Elem
[src]
fn one(&self) -> Self::Elem
[src]
fn mul(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> Self::Elem
[src]
fn is_zero(&self, elem: &Self::Elem) -> bool
[src]
fn sub(&self, elem1: &Self::Elem, elem2: &Self::Elem) -> Self::Elem
[src]
fn is_one(&self, elem: &Self::Elem) -> bool
[src]
Auto Trait Implementations
impl<R> RefUnwindSafe for QuotientField<R> where
R: RefUnwindSafe,
<R as Domain>::Elem: RefUnwindSafe,
R: RefUnwindSafe,
<R as Domain>::Elem: RefUnwindSafe,
impl<R> Send for QuotientField<R> where
R: Send,
<R as Domain>::Elem: Send,
R: Send,
<R as Domain>::Elem: Send,
impl<R> Sync for QuotientField<R> where
R: Sync,
<R as Domain>::Elem: Sync,
R: Sync,
<R as Domain>::Elem: Sync,
impl<R> Unpin for QuotientField<R> where
R: Unpin,
<R as Domain>::Elem: Unpin,
R: Unpin,
<R as Domain>::Elem: Unpin,
impl<R> UnwindSafe for QuotientField<R> where
R: UnwindSafe,
<R as Domain>::Elem: UnwindSafe,
R: UnwindSafe,
<R as Domain>::Elem: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,