MT and Fixes #31

Merged
0xalivecow merged 2 commits from dev into main 2024-11-30 15:09:56 +00:00
Showing only changes of commit 8064dcb9e8 - Show all commits

View file

@ -140,7 +140,7 @@ impl Polynomial {
//eprintln!("result in powmod after reduction: {:02X?}", result); //eprintln!("result in powmod after reduction: {:02X?}", result);
if result.is_empty() { if result.is_empty() {
result = Polynomial::new(vec![FieldElement::new(vec![0; 16])]); result = Polynomial::zero();
} }
result result
@ -192,7 +192,7 @@ impl Polynomial {
} }
if result.is_empty() { if result.is_empty() {
result = Polynomial::new(vec![FieldElement::new(vec![0; 16])]); result = Polynomial::zero();
} }
result result
@ -241,7 +241,7 @@ impl Polynomial {
} }
if result.is_empty() { if result.is_empty() {
result = Polynomial::new(vec![FieldElement::new(vec![0; 16])]); result = Polynomial::zero();
} }
result result
@ -278,20 +278,16 @@ impl Polynomial {
remainder.polynomial[pos] = a + &(divisor_coeff * c); remainder.polynomial[pos] = a + &(divisor_coeff * c);
} }
// Remove trailing zeros while !remainder.polynomial.is_empty() && remainder.polynomial.last().unwrap().is_zero()
while !remainder.polynomial.is_empty()
&& remainder
.polynomial
.last()
.unwrap()
.as_ref()
.iter()
.all(|&x| x == 0)
{ {
remainder.polynomial.pop(); remainder.polynomial.pop();
} }
} }
if remainder.is_empty() {
remainder = Polynomial::zero();
}
(Polynomial::new(quotient_coeffs), remainder) (Polynomial::new(quotient_coeffs), remainder)
} }