pub struct CoefficientHom<PFrom, PTo, H>where
PFrom: RingStore,
PTo: RingStore,
PFrom::Type: MultivariatePolyRing,
PTo::Type: MultivariatePolyRing,
H: Homomorphism<<<PFrom::Type as RingExtension>::BaseRing as RingStore>::Type, <<PTo::Type as RingExtension>::BaseRing as RingStore>::Type>,{ /* private fields */ }Trait Implementations§
Source§impl<PFrom, PTo, H> Homomorphism<<PFrom as RingStore>::Type, <PTo as RingStore>::Type> for CoefficientHom<PFrom, PTo, H>where
PFrom: RingStore,
PTo: RingStore,
PFrom::Type: MultivariatePolyRing,
PTo::Type: MultivariatePolyRing,
H: Homomorphism<<<PFrom::Type as RingExtension>::BaseRing as RingStore>::Type, <<PTo::Type as RingExtension>::BaseRing as RingStore>::Type>,
impl<PFrom, PTo, H> Homomorphism<<PFrom as RingStore>::Type, <PTo as RingStore>::Type> for CoefficientHom<PFrom, PTo, H>where
PFrom: RingStore,
PTo: RingStore,
PFrom::Type: MultivariatePolyRing,
PTo::Type: MultivariatePolyRing,
H: Homomorphism<<<PFrom::Type as RingExtension>::BaseRing as RingStore>::Type, <<PTo::Type as RingExtension>::BaseRing as RingStore>::Type>,
Source§type DomainStore = PFrom
type DomainStore = PFrom
The type of the
RingStore used by this object to store the domain ring.Source§type CodomainStore = PTo
type CodomainStore = PTo
The type of the
RingStore used by this object to store the codomain ring.Source§fn codomain<'a>(&'a self) -> &'a Self::CodomainStore
fn codomain<'a>(&'a self) -> &'a Self::CodomainStore
Returns a reference to the codomain ring.
Source§fn domain<'a>(&'a self) -> &'a Self::DomainStore
fn domain<'a>(&'a self) -> &'a Self::DomainStore
Returns a reference to the domain ring.
Source§fn map(
&self,
x: <PFrom::Type as RingBase>::Element,
) -> <PTo::Type as RingBase>::Element
fn map( &self, x: <PFrom::Type as RingBase>::Element, ) -> <PTo::Type as RingBase>::Element
Applies this homomorphism to the given element from the domain ring,
resulting in an element in the codomain ring.
Source§fn map_ref(
&self,
x: &<PFrom::Type as RingBase>::Element,
) -> <PTo::Type as RingBase>::Element
fn map_ref( &self, x: &<PFrom::Type as RingBase>::Element, ) -> <PTo::Type as RingBase>::Element
Applies this homomorphism to the given element from the domain ring,
resulting in an element in the codomain ring.
Source§fn mul_assign_map(&self, lhs: &mut Codomain::Element, rhs: Domain::Element)
fn mul_assign_map(&self, lhs: &mut Codomain::Element, rhs: Domain::Element)
Multiplies the given element in the codomain ring with an element obtained
by applying this homomorphism to a given element from the domain ring. Read more
Source§fn mul_assign_ref_map(&self, lhs: &mut Codomain::Element, rhs: &Domain::Element)
fn mul_assign_ref_map(&self, lhs: &mut Codomain::Element, rhs: &Domain::Element)
Multiplies the given element in the codomain ring with an element obtained
by applying this homomorphism to a given element from the domain ring. Read more
Source§fn mul_map(
&self,
lhs: Codomain::Element,
rhs: Domain::Element,
) -> Codomain::Element
fn mul_map( &self, lhs: Codomain::Element, rhs: Domain::Element, ) -> Codomain::Element
Multiplies the given element in the codomain ring with an element obtained
by applying this homomorphism to a given element from the domain ring. Read more
Source§fn fma_map(
&self,
lhs: &Codomain::Element,
rhs: &Domain::Element,
summand: Codomain::Element,
) -> Codomain::Element
fn fma_map( &self, lhs: &Codomain::Element, rhs: &Domain::Element, summand: Codomain::Element, ) -> Codomain::Element
Fused-multiply-add. This computes
lhs * rhs + summand, where rhs is mapped
into the ring via this homomorphism. Read moreSource§fn mul_ref_fst_map(
&self,
lhs: &Codomain::Element,
rhs: Domain::Element,
) -> Codomain::Element
fn mul_ref_fst_map( &self, lhs: &Codomain::Element, rhs: Domain::Element, ) -> Codomain::Element
Multiplies the given element in the codomain ring with an element obtained
by applying this homomorphism to a given element from the domain ring. Read more
Source§fn mul_ref_snd_map(
&self,
lhs: Codomain::Element,
rhs: &Domain::Element,
) -> Codomain::Element
fn mul_ref_snd_map( &self, lhs: Codomain::Element, rhs: &Domain::Element, ) -> Codomain::Element
Multiplies the given element in the codomain ring with an element obtained
by applying this homomorphism to a given element from the domain ring. Read more
Source§fn mul_ref_map(
&self,
lhs: &Codomain::Element,
rhs: &Domain::Element,
) -> Codomain::Element
fn mul_ref_map( &self, lhs: &Codomain::Element, rhs: &Domain::Element, ) -> Codomain::Element
Multiplies the given element in the codomain ring with an element obtained
by applying this homomorphism to a given element from the domain ring. Read more
Source§fn compose<F, PrevDomain: ?Sized + RingBase>(
self,
prev: F,
) -> ComposedHom<PrevDomain, Domain, Codomain, F, Self>where
Self: Sized,
F: Homomorphism<PrevDomain, Domain>,
fn compose<F, PrevDomain: ?Sized + RingBase>(
self,
prev: F,
) -> ComposedHom<PrevDomain, Domain, Codomain, F, Self>where
Self: Sized,
F: Homomorphism<PrevDomain, Domain>,
Constructs the homomorphism
x -> self.map(prev.map(x)).Source§fn mul_assign_ref_map_through_hom<First: ?Sized + RingBase, H: Homomorphism<First, Domain>>(
&self,
lhs: &mut Codomain::Element,
rhs: &First::Element,
hom: H,
)
fn mul_assign_ref_map_through_hom<First: ?Sized + RingBase, H: Homomorphism<First, Domain>>( &self, lhs: &mut Codomain::Element, rhs: &First::Element, hom: H, )
Multiplies the given element in the codomain ring with an element obtained
by applying this and another homomorphism to a given element from another ring. Read more
Source§fn mul_assign_map_through_hom<First: ?Sized + RingBase, H: Homomorphism<First, Domain>>(
&self,
lhs: &mut Codomain::Element,
rhs: First::Element,
hom: H,
)
fn mul_assign_map_through_hom<First: ?Sized + RingBase, H: Homomorphism<First, Domain>>( &self, lhs: &mut Codomain::Element, rhs: First::Element, hom: H, )
Multiplies the given element in the codomain ring with an element obtained
by applying this and another homomorphism to a given element from another ring. Read more
Auto Trait Implementations§
impl<PFrom, PTo, H> Freeze for CoefficientHom<PFrom, PTo, H>
impl<PFrom, PTo, H> RefUnwindSafe for CoefficientHom<PFrom, PTo, H>
impl<PFrom, PTo, H> Send for CoefficientHom<PFrom, PTo, H>
impl<PFrom, PTo, H> Sync for CoefficientHom<PFrom, PTo, H>
impl<PFrom, PTo, H> Unpin for CoefficientHom<PFrom, PTo, H>
impl<PFrom, PTo, H> UnwindSafe for CoefficientHom<PFrom, PTo, H>
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