From 14405559f3674c95cae22c5238730c375bc965e4 Mon Sep 17 00:00:00 2001 From: Christian Bauer Date: Wed, 26 Jan 2000 17:19:05 +0000 Subject: [PATCH 1/1] - gcd(): cofactor computation is faster in partially factorized case --- ginac/normal.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) 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; -- 2.44.0