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

◆ add_term()

void DPoly::add_term ( int level,
TowerPolynomial & result,
long coeff,
exponents_t exp ) const

Definition at line 649 of file dpoly.cpp.

650{
651 // modifies result.
652 // exp is an array [0..level-1] of exponent values for each variable
653 // 0..level-1
654 // the outer variable is at index 0.
655 // coeff is an already normalized coefficient, and is not 0.
656
657 int e = exp[0];
658
659 if (result == nullptr)
660 result = alloc_poly_n(e, nullptr);
661 else if (result->deg < e)
663
664 if (level == 0)
665 ZZp_ADD_TO(charac, result->arr.ints[e], coeff);
666 else
667 add_term(level - 1, result->arr.polys[e], coeff, exp + 1);
668}
static void increase_size_n(int newdeg, TowerPolynomial &f)
Definition dpoly.cpp:249
static TowerPolynomial alloc_poly_n(int deg, TowerPolynomial *elems=nullptr)
Definition dpoly.cpp:265
long charac
Definition dpoly.hpp:115
void add_term(int level, TowerPolynomial &result, long coeff, exponents_t exp) const
Definition dpoly.cpp:649
void ZZp_ADD_TO(long charac, long &a, long b)
Definition dpoly.cpp:53
VALGRIND_MAKE_MEM_DEFINED & result(result)
const mpreal exp(const mpreal &x, mp_rnd_t r=mpreal::get_default_rnd())
Definition mpreal.h:2298

References add_term(), alloc_poly_n(), charac, increase_size_n(), result(), and ZZp_ADD_TO().

Referenced by add_term().