Macaulay2 Engine
Loading...
Searching...
No Matches

◆ lifter()

template<typename SourceRing, typename TargetRing>
bool M2::RingPromoter::lifter ( const Ring * R,
const Ring * S,
ring_elem & result_gR,
const ring_elem gS )

Definition at line 640 of file aring-glue.hpp.

644 {
645 assert(dynamic_cast<const ConcreteRing<SourceRing> *>(R) != 0);
646 assert(dynamic_cast<const ConcreteRing<TargetRing> *>(S) != 0);
647 const SourceRing &R1 =
648 dynamic_cast<const ConcreteRing<SourceRing> *>(R)->ring();
649 const TargetRing &S1 =
650 dynamic_cast<const ConcreteRing<TargetRing> *>(S)->ring();
651
652 typename SourceRing::Element fR1(R1);
653 typename TargetRing::Element gS1(S1);
654
655 S1.from_ring_elem(gS1, gS);
656 bool retval = mylift(R1, S1, fR1, gS1); // sets fR1.
657 if (retval) R1.to_ring_elem(result_gR, fR1);
658 return retval;
659 }
bool mylift(const RingR &R, const RingS &S, typename RingR::ElementType &result_gR, const typename RingS::ElementType &gS)

References M2::mylift().