2# define _ringelement_h_
56# if defined(__cplusplus)
72# if defined(__cplusplus)
186 const Ring *coeffRing,
194 const Ring *coeffRing,
206 const Ring *coeffRing,
362 const Ring *coeffRing,
370 const Ring *coeffRing,
382 const Ring *coeffRing,
534# if defined(__cplusplus)
Engine-side immutable monomial value type wrapping a varpower- encoded exponent vector.
Front-end-visible "ring element" value: an engine ring_elem paired with the Ring* that gives it meani...
Engine-wide include prelude — a single point of truth for portability shims.
VALGRIND_MAKE_MEM_DEFINED & result(result)
M2_arrayint M2_arrayintOrNull
struct gmp_CC_struct * gmp_CC
engine_RawRingElementArray engine_RawRingElementArrayOrNull
gmp_ZZpair gmp_ZZpairOrNull
struct engine_RawRingElementPair_struct * engine_RawRingElementPair
engine_RawArrayPair engine_RawArrayPairOrNull
mpfi_srcptr gmp_RRiorNull
struct gmp_CCi_struct * gmp_CCi
M2_bool IM2_RingElement_is_equal(const RingElement *a, const RingElement *b)
M2_arrayint rawRingElementIndices(const RingElement *f)
int IM2_RingElement_index_if_var(const RingElement *f)
const RingElement * IM2_RingElement_denominator(const RingElement *a)
const RingElement * IM2_RingElement_get_coeff(const Ring *coeffRing, const RingElement *a, const EngineMonomial *m)
const RingElement * rawRingElementRemoveContent(const RingElement *f)
const RingElement * IM2_RingElement_term(const Ring *R, const RingElement *a, const EngineMonomial *m)
const EngineMonomial * IM2_RingElement_lead_monomial(int nvars, const RingElement *a)
M2_bool IM2_RingElement_is_zero(const RingElement *a)
const RingElement * rawLowerP(const RingElement *f)
const RingElement * IM2_RingElement_promote(const Ring *S, const RingElement *f)
gmp_QQorNull IM2_RingElement_to_rational(const RingElement *a)
engine_RawRingElementPair IM2_RingElement_divmod(const RingElement *a, const RingElement *b)
const RingElement * IM2_RingElement_from_ComplexInterval(const Ring *R, gmp_CCi z)
const RingElement * IM2_RingElement_homogenize(const RingElement *a, int v, M2_arrayint wts)
const RingElement * IM2_RingElement_from_BigComplex(const Ring *R, gmp_CC z)
const RingElement * IM2_RingElement_get_terms(int nvars, const RingElement *a, int lo, int hi)
const RingElement * IM2_RingElement_from_Integer(const Ring *R, gmp_ZZ d)
const RingElement * rawGetPart(const M2_arrayint wts, const RingElement *f, M2_bool lobound_given, M2_bool hibound_given, long lobound, long hibound)
const Ring * IM2_RingElement_ring(const RingElement *a)
const RingElement * IM2_RingElement_lead_coeff(const Ring *coeffRing, const RingElement *a)
const RingElement * IM2_RingElement_from_Interval(const Ring *R, gmp_RRi z)
gmp_ZZpairOrNull rawWeightRange(M2_arrayint wts, const RingElement *a)
const Matrix * rawHomogenizeMatrix(const Matrix *a, const Matrix *b, const Matrix *c)
int rawDegree(int v, const RingElement *f)
const RingElement * rawTowerTranslatePoly(const Ring *newRing, const RingElement *F)
unsigned int rawRingElementHash(const RingElement *a)
engine_RawRingElementArray rawGetParts(const M2_arrayint wts, const RingElement *f)
const RingElement * rawMultiplicativeGenerator(const Ring *R)
engine_RawRingElementArrayOrNull rawConvolve(engine_RawRingElementArray H, int convolve_type)
gmp_RRiorNull IM2_RingElement_to_Interval(const RingElement *a)
const RingElement * IM2_RingElement_from_rational(const Ring *R, mpq_srcptr r)
gmp_CCiorNull IM2_RingElement_to_ComplexInterval(const RingElement *a)
M2_string IM2_RingElement_to_string(const RingElement *f)
int rawRingElementCompare(const RingElement *a, const RingElement *b)
gmp_RRorNull IM2_RingElement_to_BigReal(const RingElement *a)
const RingElement * rawRingElementSplitContent(const RingElement *f, const RingElement **result)
const RingElement * rawRingElementAntipode(const RingElement *f)
const RingElement * IM2_RingElement_fraction(const Ring *R, const RingElement *a, const RingElement *b)
const RingElement * rawDiff(int v, const RingElement *f)
int IM2_RingElement_n_terms(int nvars, const RingElement *a)
const RingElement * IM2_RingElement_from_BigReal(const Ring *R, gmp_RR z)
const RingElement * rawSchurFromPartition(const Ring *R, M2_arrayint part)
M2_arrayint IM2_RingElement_multidegree(const RingElement *a)
long rawDiscreteLog(const RingElement *h)
const RingElement * IM2_RingElement_make_var(const Ring *R, int v)
const RingElement * rawSchurSnTensorMult(const RingElement *a, const RingElement *b)
engine_RawArrayPairOrNull IM2_RingElement_list_form(const Ring *coeffRing, const RingElement *f)
const RingElement * IM2_RingElement_homogenize_to_degree(const RingElement *a, int v, int deg, M2_arrayint wts)
const RingElement * rawPowerMod(const RingElement *f, mpz_srcptr n, const RingElement *g)
const RingElement * rawAssociateDivisor(const RingElement *f)
const RingElement * rawRingElementContent(const RingElement *f)
gmp_ZZorNull rawSchurDimension(const RingElement *f)
const RingElement * IM2_RingElement_lift(int *success_return, const Ring *S, const RingElement *f)
M2_bool IM2_RingElement_is_graded(const RingElement *a)
const RingElement * IM2_RingElement_numerator(const RingElement *a)
gmp_ZZorNull IM2_RingElement_to_Integer(const RingElement *a)
int rawExtensionDegree(int firstvar, const Ring *R1)
gmp_CCorNull IM2_RingElement_to_BigComplex(const RingElement *a)