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

◆ diff_n()

TowerPolynomial DPoly::diff_n ( int level,
int whichvar,
const TowerPolynomial f )
private

Definition at line 1343 of file dpoly.cpp.

1344{
1345 TowerPolynomial result;
1346 if (whichvar == 0)
1347 {
1348 result = alloc_poly_0(f->deg - 1);
1349 for (int i = 1; i <= f->deg; i++)
1350 {
1351 TowerPolynomial c = f->arr.polys[i];
1352 if (c != nullptr) result->arr.polys[i - 1] = mult_by_int(level - 1, i, c);
1353 }
1354 }
1355 else
1356 {
1357 result = alloc_poly_0(f->deg);
1358 for (int i = 0; i <= f->deg; i++)
1359 {
1360 TowerPolynomial c = f->arr.polys[i];
1361 if (c != nullptr) result->arr.polys[i] = diff(level - 1, whichvar - 1, c);
1362 }
1363 }
1364 reset_degree_n(level, result);
1365 return result;
1366}
void reset_degree_n(int level, TowerPolynomial &f)
Definition dpoly.cpp:635
TowerPolynomial diff(int level, int var, const TowerPolynomial f)
Definition dpoly.cpp:1368
static TowerPolynomial alloc_poly_0(int deg, long *elems=nullptr)
Definition dpoly.cpp:279
TowerPolynomial mult_by_int(int level, long c, const TowerPolynomial f)
Definition dpoly.cpp:1319
VALGRIND_MAKE_MEM_DEFINED & result(result)

References alloc_poly_0(), diff(), mult_by_int(), reset_degree_n(), and result().

Referenced by diff().