fix: Make all polynomials monic in task fn #23

Merged
0xalivecow merged 1 commit from dev into main 2024-11-23 12:46:10 +00:00
2 changed files with 16 additions and 2 deletions
Showing only changes of commit 69a2026c84 - Show all commits

View file

@ -112,7 +112,7 @@ pub fn gfpoly_gcd(args: &Value) -> Result<Polynomial> {
let poly_a = Polynomial::from_c_array(&args["A"].clone()); let poly_a = Polynomial::from_c_array(&args["A"].clone());
let poly_b = Polynomial::from_c_array(&args["B"].clone()); let poly_b = Polynomial::from_c_array(&args["B"].clone());
let result = gcd(poly_a, poly_b); let result = gcd(poly_a.monic(), poly_b.monic());
Ok(result) Ok(result)
} }

View file

@ -1304,4 +1304,18 @@ mod tests {
assert_eq!(json!(result.to_c_array()), expected); assert_eq!(json!(result.to_c_array()), expected);
} }
#[test]
fn test_poly_gcd_zero() {
let a = json!(["AAAAAAAAAAAAAAAAAAAAAA==",]);
let b = json!(["AAAAAAAAAAAAAAAAAAAAAA=="]);
let expected = json!(["AAAAAAAAAAAAAAAAAAAAAA=="]);
let a: Polynomial = Polynomial::from_c_array(&a);
let b: Polynomial = Polynomial::from_c_array(&b);
let result = gcd(a.monic(), b.monic());
assert_eq!(json!(result.to_c_array()), expected);
}
} }