- fixed "normal(2-2*(1+a)/(-1-a))" bug: add::normal() assumed that if the
authorChristian Bauer <Christian.Bauer@uni-mainz.de>
Wed, 2 Aug 2000 19:38:01 +0000 (19:38 +0000)
committerChristian Bauer <Christian.Bauer@uni-mainz.de>
Wed, 2 Aug 2000 19:38:01 +0000 (19:38 +0000)
  common denominator is 1, all denominators would be 1 (they can be +/-1)

ginac/normal.cpp

index 9cc65cad0f30e60330d8470171a824c7b617caea..b396771ff21a6367c09a34edd73a91f7f8e29537 100644 (file)
@@ -1947,10 +1947,10 @@ ex add::normal(lst &sym_lst, lst &repl_lst, int level) const
     // Add fractions
     if (den.is_equal(_ex1())) {
 
-               // Common denominator is 1, simply add all numerators
+               // Common denominator is 1, simply add all fractions
         exvector num_seq;
                for (ait=o.begin(); ait!=aitend; ait++) {
-                       num_seq.push_back(ait->op(0));
+                       num_seq.push_back(ait->op(0) / ait->op(1));
                }
                return (new lst((new add(num_seq))->setflag(status_flags::dynallocated), den))->setflag(status_flags::dynallocated);