From 6532c576c6737cc5500adac328de28ae03792353 Mon Sep 17 00:00:00 2001 From: Alivecow Date: Wed, 27 Nov 2024 14:06:40 +0100 Subject: [PATCH] fix: Fix incorrect degree calculation --- src/utils/dff.rs | 3 ++- src/utils/poly.rs | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/utils/dff.rs b/src/utils/dff.rs index a4ebda8..7ae23e1 100644 --- a/src/utils/dff.rs +++ b/src/utils/dff.rs @@ -19,7 +19,7 @@ pub fn ddf(f: Polynomial) -> Vec<(Polynomial, u128)> { let mut f_star = f.clone(); let one_cmp = Polynomial::one(); - while f_star.degree() as u128 >= (d) { + while f_star.degree() as u128 >= (2 * d) { let h = Polynomial::x().bpow_mod(q.clone().pow(d), f_star.clone()) + Polynomial::x(); let g = gcd(&h, &f_star); @@ -35,6 +35,7 @@ pub fn ddf(f: Polynomial) -> Vec<(Polynomial, u128)> { d += 1; } + if f_star != one_cmp { eprintln!("fstar not one"); z.push((f_star.clone(), f_star.degree() as u128)); diff --git a/src/utils/poly.rs b/src/utils/poly.rs index ef625ce..91d96ac 100644 --- a/src/utils/poly.rs +++ b/src/utils/poly.rs @@ -25,7 +25,7 @@ impl Polynomial { } pub fn degree(&self) -> usize { - self.polynomial.len() + self.polynomial.len() - 1 } pub fn one() -> Self {