From: Christian Bauer Date: Wed, 26 Jan 2000 17:19:05 +0000 (+0000) Subject: - gcd(): cofactor computation is faster in partially factorized case X-Git-Tag: release_0-5-0~33 X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=commitdiff_plain;h=14405559f3674c95cae22c5238730c375bc965e4;hp=a7ba1a7f55e47f75673008381f814f96dc0ff564 - gcd(): cofactor computation is faster in partially factorized case --- diff --git a/ginac/normal.cpp b/ginac/normal.cpp index a7a37015..f57e4f0d 100644 --- a/ginac/normal.cpp +++ b/ginac/normal.cpp @@ -1112,10 +1112,8 @@ factored_a: } if (ca) *ca = acc_ca; - if (cb) { - if (!divide(b, g, *cb)) - throw(std::runtime_error("invalid expression in gcd(), division failed")); - } + if (cb) + *cb = part_b; return g; } else if (is_ex_exactly_of_type(b, mul)) { if (is_ex_exactly_of_type(a, mul) && a.nops() > b.nops()) @@ -1130,10 +1128,8 @@ factored_b: acc_cb *= part_cb; part_a = part_ca; } - if (ca) { - if (!divide(a, g, *ca)) - throw(std::runtime_error("invalid expression in gcd(), division failed")); - } + if (ca) + *ca = part_a; if (cb) *cb = acc_cb; return g;