Merge branch 'dev'
This commit is contained in:
commit
e934d4317f
2 changed files with 22 additions and 10 deletions
|
|
@ -575,9 +575,21 @@ pub fn gcd(a: &Polynomial, b: &Polynomial) -> Polynomial {
|
|||
if a.is_zero() {
|
||||
return b.clone();
|
||||
}
|
||||
if b.is_zero() {
|
||||
return a.clone();
|
||||
}
|
||||
|
||||
let monic_b = b.div(&a).1.monic();
|
||||
return gcd(&monic_b, a);
|
||||
if a.degree() > b.degree() {
|
||||
return gcd(b, a);
|
||||
}
|
||||
|
||||
let (_, remainder) = b.div(a);
|
||||
|
||||
if remainder.is_zero() {
|
||||
return a.clone().monic();
|
||||
}
|
||||
|
||||
gcd(&remainder, a)
|
||||
}
|
||||
|
||||
pub fn non_monic_gcd(a: &Polynomial, b: &Polynomial) -> Polynomial {
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
{
|
||||
"testcases": {
|
||||
"sandbox": {
|
||||
"action": "gfpoly_factor_ddf",
|
||||
"action": "gfpoly_factor_edf",
|
||||
"arguments": {
|
||||
"F": [
|
||||
"tpkgAAAAAAAAAAAAAAAAAA==",
|
||||
"m6MQAAAAAAAAAAAAAAAAAA==",
|
||||
"8roAAAAAAAAAAAAAAAAAAA==",
|
||||
"3dUAAAAAAAAAAAAAAAAAAA==",
|
||||
"mmAAAAAAAAAAAAAAAAAAAA==",
|
||||
"AbAAAAAAAAAAAAAAAAAAAA==",
|
||||
"zgAAAAAAAAAAAAAAAAAAAA==",
|
||||
"FwAAAAAAAAAAAAAAAAAAAA==",
|
||||
"/kAAAAAAAAAAAAAAAAAAAA==",
|
||||
"a4AAAAAAAAAAAAAAAAAAAA==",
|
||||
"AAAAAAAAAAAAAAAAAAAAAA==",
|
||||
"wAAAAAAAAAAAAAAAAAAAAA==",
|
||||
"gAAAAAAAAAAAAAAAAAAAAA=="
|
||||
]
|
||||
],
|
||||
"d": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue