1791{
1792
1793
1794
1795
1796
1798 if (nvars0 < 0) return nullptr;
1800 engine_RawMonomialArray monoms =
1802 engine_RawRingElementArray coeffs =
1804 monoms->len = n;
1805 coeffs->len = n;
1809
1811 gc_vector<int> resultvp;
1812 const Nterm *t = f;
1813 for (int next = 0; next < n; next++)
1814 {
1816 ring_elem c =
1821 resultvp.resize(0);
1822
1823 assert(monoms->array[next] != NULL);
1824 assert(coeffs->array[next] != NULL);
1825 }
1828}
exponents::Exponents exponents_t
static EngineMonomial * make(int v, int e)
static void from_expvector(int n, exponents::ConstExponents a, Vector &result)
void to_expvector(const_monomial m, exponents_t result_exp) const
ring_elem get_logical_coeff(const Ring *coeffR, const Nterm *&f) const
virtual int n_logical_terms(int nvars0, const ring_elem f) const
virtual const Monoid * getMonoid() const
static RingElement * make_raw(const Ring *R, ring_elem f)
VALGRIND_MAKE_MEM_DEFINED & result(result)
#define sizeofarray(s, len)
struct engine_RawArrayPair_struct * engine_RawArrayPair
const mpreal exp(const mpreal &x, mp_rnd_t r=mpreal::get_default_rnd())
#define newarray_atomic(T, len)
int check_coeff_ring(const Ring *coeffR, const PolyRing *P)