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

◆ IM2_RingElement_to_BigComplex()

gmp_CCorNull IM2_RingElement_to_BigComplex ( const RingElement * a)

Definition at line 195 of file ringelement.cpp.

196{
197 const Ring *R = a->get_ring();
198 auto RCCC = dynamic_cast<const M2::ConcreteRing<M2::ARingCCC> *>(R);
199 if (RCCC != nullptr)
200 {
202 RCCC->ring().from_ring_elem_const(a->get_value());
203 gmp_CC result = RCCC->ring().toBigComplex(b);
204 return result;
205 }
206 auto RCC = dynamic_cast<const M2::ConcreteRing<M2::ARingCC> *>(R);
207 if (RCC != nullptr)
208 {
209 const M2::ARingCC::ElementType &b =
210 RCC->ring().from_ring_elem_const(a->get_value());
211 gmp_CC result = RCC->ring().toBigComplex(b);
212 return result;
213 }
214 ERROR("expected an element of CCC");
215 return nullptr;
216}
elem ElementType
Definition aring-CC.hpp:81
ring_elem get_value() const
Definition relem.hpp:79
const Ring * get_ring() const
Definition relem.hpp:81
xxx xxx xxx
Definition ring.hpp:102
const int ERROR
Definition m2-mem.cpp:55
VALGRIND_MAKE_MEM_DEFINED & result(result)
struct gmp_CC_struct * gmp_CC
Definition m2-types.h:156

References ERROR, RingElement::get_ring(), RingElement::get_value(), and result().