Skip to content

Commit 79adb70

Browse files
committed
fix trees
1 parent c885c01 commit 79adb70

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

lib/modpoly.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -430,6 +430,7 @@ degree mp_lagrange_polynomial(const integer* x, const integer* y, unsigned int n
430430
polynode* mp_subproduct_node(const integer* x, unsigned int n1, unsigned int n2, modulus m)
431431
{
432432
polynode *n;
433+
printf("%d %d\n", n1, n2);
433434

434435
if ((n2 - n1) % 2 != 0)
435436
{
@@ -454,8 +455,8 @@ polynode* mp_subproduct_node(const integer* x, unsigned int n1, unsigned int n2,
454455
else
455456
{
456457
/* Resursive call */
457-
n->left = mp_subproduct_node(x, n1, n2 / 2, m);
458-
n->right = mp_subproduct_node(x, n2 / 2, n2, m);
458+
n->left = mp_subproduct_node(x, n1, n2 - (n2 - n1) / 2, m);
459+
n->right = mp_subproduct_node(x, n2 - (n2 - n1) / 2, n2, m);
459460
}
460461

461462
/* Multiply polynomials */
@@ -565,8 +566,8 @@ polynode* mp_numerator_node(const polynode* node, const integer* leaves, unsigne
565566
else
566567
{
567568
/* Resursive call */
568-
n->left = mp_numerator_node(node->left, leaves, n1, n2 / 2, m);
569-
n->right = mp_numerator_node(node->right, leaves, n2 / 2, n2, m);
569+
n->left = mp_numerator_node(node->left, leaves, n1, n2 - (n2 - n1) / 2, m);
570+
n->right = mp_numerator_node(node->right, leaves, n2 - (n2 - n1) / 2, n2, m);
570571
}
571572

572573
/* Compute numerator */

0 commit comments

Comments
 (0)