[SCM] an open source computer algebra system branch, cleanedupstream, updated. 6125e540ca6d66c307958938a9d53b245507c323

Bernhard R. Link brlink at debian.org
Tue Apr 24 15:55:27 UTC 2012


The following commit has been merged in the cleanedupstream branch:
commit ad47cef3e3f6eae7d9db13415a1b9010ef07e3e8
Author: Martin Lee <martinlee84 at web.de>
Date:   Fri Mar 23 17:00:50 2012 +0100

    fix: multiply A with right multiple of denominators of factors

diff --git a/factory/facBivar.cc b/factory/facBivar.cc
index 933cb7a..807298e 100644
--- a/factory/facBivar.cc
+++ b/factory/facBivar.cc
@@ -356,7 +356,6 @@ CFList biFactorize (const CanonicalForm& F, const Variable& v)
 
   bool extension= (v.level() != 1);
   CanonicalForm A;
-  CanonicalForm multiplier= 1;
   if (isOn (SW_RATIONAL))
     A= F*bCommonDen (F);
   else
@@ -658,10 +657,16 @@ CFList biFactorize (const CanonicalForm& F, const Variable& v)
   else
   {
     A /= Lc (Aeval);
-    A *= bCommonDen (A);
     // make factors elements of Z(a)[x] disable for modularDiophant
+    CanonicalForm multiplier= 1;
     for (CFListIterator i= uniFactors; i.hasItem(); i++)
+    {
+      multiplier *= bCommonDen (i.getItem());
       i.getItem()= i.getItem()*bCommonDen(i.getItem());
+    }
+    A *= multiplier;
+    A *= bCommonDen (A);
+
     mipoHasDen= !bCommonDen(mipo).isOne();
     mipo *= bCommonDen (mipo);
     Off (SW_RATIONAL);

-- 
an open source computer algebra system



More information about the debian-science-commits mailing list