97{
100
102
105 for (
int i = 0; i < F->
rank(); i++)
106 {
107 comps[i] = nullptr;
108 last[i] = nullptr;
109 }
110
112
114 for (
int i = 0; i < f.
len; i++)
115 {
120 ring_elem a =
124 if (last[comp] == nullptr)
125 {
126 comps[comp] = g;
127 last[comp] = g;
128 }
129 else
130 {
131 last[comp]->
next = g;
132 last[comp] = g;
133 }
134 }
136 for (
int i = 0; i < F->
rank(); i++)
137 {
138 if (comps[i] != nullptr)
139 {
140 vec v = origR->
make_vec(i, comps[i]);
142 comps[i] = nullptr;
143 last[i] = nullptr;
144 }
145 }
146
149}
const Ring * get_ring() const
monomial make_one() const
void from_expvector(const_exponents exp, monomial result) const
virtual const Monoid * getMonoid() const
virtual ring_elem make_flat_term(const ring_elem a, const_monomial m) const =0
bool to_expvector(res_const_packed_monomial m, res_ntuple_monomial result, component_index &result_comp) const
int monomial_size(res_const_packed_monomial m) const
const ResMonoid & monoid() const
const VectorArithmetic & vectorArithmetic() const
std::vector< res_monomial_word > monoms
vec make_vec(int r, ring_elem a) const
virtual const PolynomialRing * cast_to_PolynomialRing() const
void add_vec_to(vec &v, vec &w) const
ring_elem ringElemFromElementArray(const ElementArray &coeffs, int index) const
VALGRIND_MAKE_MEM_DEFINED & result(result)
const mpreal exp(const mpreal &x, mp_rnd_t r=mpreal::get_default_rnd())