pub struct NumberFieldHom<R1, Impl1, I1, R2, Impl2, I2>where
R1: RingStore<Type = NumberFieldBase<Impl1, I1>>,
Impl1: RingStore,
Impl1::Type: Field + FreeAlgebra,
<Impl1::Type as RingExtension>::BaseRing: RingStore<Type = RationalFieldBase<I1>>,
I1: RingStore,
I1::Type: IntegerRing,
R2: RingStore<Type = NumberFieldBase<Impl2, I2>>,
Impl2: RingStore,
Impl2::Type: Field + FreeAlgebra,
<Impl2::Type as RingExtension>::BaseRing: RingStore<Type = RationalFieldBase<I2>>,
I2: RingStore,
I2::Type: IntegerRing,{ /* private fields */ }Expand description
§Availability
This API is marked as unstable and is only available when the unstable-enable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.
Trait Implementations§
Source§impl<R1, Impl1, I1, R2, Impl2, I2> Homomorphism<NumberFieldBase<Impl1, I1>, NumberFieldBase<Impl2, I2>> for NumberFieldHom<R1, Impl1, I1, R2, Impl2, I2>where
R1: RingStore<Type = NumberFieldBase<Impl1, I1>>,
Impl1: RingStore,
Impl1::Type: Field + FreeAlgebra,
<Impl1::Type as RingExtension>::BaseRing: RingStore<Type = RationalFieldBase<I1>>,
I1: RingStore,
I1::Type: IntegerRing,
R2: RingStore<Type = NumberFieldBase<Impl2, I2>>,
Impl2: RingStore,
Impl2::Type: Field + FreeAlgebra,
<Impl2::Type as RingExtension>::BaseRing: RingStore<Type = RationalFieldBase<I2>>,
I2: RingStore,
I2::Type: IntegerRing,
impl<R1, Impl1, I1, R2, Impl2, I2> Homomorphism<NumberFieldBase<Impl1, I1>, NumberFieldBase<Impl2, I2>> for NumberFieldHom<R1, Impl1, I1, R2, Impl2, I2>where
R1: RingStore<Type = NumberFieldBase<Impl1, I1>>,
Impl1: RingStore,
Impl1::Type: Field + FreeAlgebra,
<Impl1::Type as RingExtension>::BaseRing: RingStore<Type = RationalFieldBase<I1>>,
I1: RingStore,
I1::Type: IntegerRing,
R2: RingStore<Type = NumberFieldBase<Impl2, I2>>,
Impl2: RingStore,
Impl2::Type: Field + FreeAlgebra,
<Impl2::Type as RingExtension>::BaseRing: RingStore<Type = RationalFieldBase<I2>>,
I2: RingStore,
I2::Type: IntegerRing,
type DomainStore = R1
type CodomainStore = R2
fn domain<'a>(&'a self) -> &'a Self::DomainStore
fn codomain<'a>(&'a self) -> &'a Self::CodomainStore
fn map( &self, x: <NumberFieldBase<Impl1, I1> as RingBase>::Element, ) -> <NumberFieldBase<Impl2, I2> as RingBase>::Element
fn map_ref( &self, x: &<NumberFieldBase<Impl1, I1> as RingBase>::Element, ) -> <NumberFieldBase<Impl2, I2> as RingBase>::Element
fn mul_assign_map(&self, lhs: &mut Codomain::Element, rhs: Domain::Element)
fn mul_assign_ref_map(&self, lhs: &mut Codomain::Element, rhs: &Domain::Element)
fn mul_map( &self, lhs: Codomain::Element, rhs: Domain::Element, ) -> Codomain::Element
fn mul_ref_fst_map( &self, lhs: &Codomain::Element, rhs: Domain::Element, ) -> Codomain::Element
fn mul_ref_snd_map( &self, lhs: Codomain::Element, rhs: &Domain::Element, ) -> Codomain::Element
fn mul_ref_map( &self, lhs: &Codomain::Element, rhs: &Domain::Element, ) -> Codomain::Element
fn compose<F, PrevDomain: ?Sized + RingBase>(
self,
prev: F,
) -> ComposedHom<PrevDomain, Domain, Codomain, F, Self>where
Self: Sized,
F: Homomorphism<PrevDomain, Domain>,
Auto Trait Implementations§
impl<R1, Impl1, I1, R2, Impl2, I2> Freeze for NumberFieldHom<R1, Impl1, I1, R2, Impl2, I2>
impl<R1, Impl1, I1, R2, Impl2, I2> RefUnwindSafe for NumberFieldHom<R1, Impl1, I1, R2, Impl2, I2>where
<<Impl2 as RingStore>::Type as RingExtension>::BaseRing: Sized,
<<Impl1 as RingStore>::Type as RingExtension>::BaseRing: Sized,
R1: RefUnwindSafe,
R2: RefUnwindSafe,
<<Impl2 as RingStore>::Type as RingBase>::Element: RefUnwindSafe,
I1: RefUnwindSafe,
I2: RefUnwindSafe,
impl<R1, Impl1, I1, R2, Impl2, I2> Send for NumberFieldHom<R1, Impl1, I1, R2, Impl2, I2>
impl<R1, Impl1, I1, R2, Impl2, I2> Sync for NumberFieldHom<R1, Impl1, I1, R2, Impl2, I2>
impl<R1, Impl1, I1, R2, Impl2, I2> Unpin for NumberFieldHom<R1, Impl1, I1, R2, Impl2, I2>
impl<R1, Impl1, I1, R2, Impl2, I2> UnwindSafe for NumberFieldHom<R1, Impl1, I1, R2, Impl2, I2>where
<<Impl2 as RingStore>::Type as RingExtension>::BaseRing: Sized,
<<Impl1 as RingStore>::Type as RingExtension>::BaseRing: Sized,
R1: UnwindSafe,
R2: UnwindSafe,
<<Impl2 as RingStore>::Type as RingBase>::Element: UnwindSafe,
I1: UnwindSafe,
I2: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more