diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 4 | ||||
-rw-r--r-- | src/algebra/manip.spad.pamphlet | 11 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index b2f16bf9..2cfe5721 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2008-08-31 Waldek Hebisch <hebisch@math.uni.wroc.pl> + + * algebra/manip.spad.pamphlet: Fix Bug AW278. + 2008-08-30 Gabriel Dos Reis <gdr@cs.tamu.edu> * algebra/boolean.spad.pamphlet (Boolean): Remove definition of diff --git a/src/algebra/manip.spad.pamphlet b/src/algebra/manip.spad.pamphlet index a9f207d7..83657f90 100644 --- a/src/algebra/manip.spad.pamphlet +++ b/src/algebra/manip.spad.pamphlet @@ -624,10 +624,13 @@ TranscendentalManipulations(R, F): Exports == Implementation where -- like to combine it with a log term. terms :List F := [simplifyLog(term) for term in termList::List(F)] exprs :List F := [] - for i in 1..#terms repeat - if retractIfCan(terms.i)@Union(FPR,"failed") case FPR then - exprs := cons(terms.i,exprs) - terms := delete!(terms,i) + nterms :List F := [] + for term in terms repeat + if retractIfCan(term)@Union(FPR,"failed") case FPR then + exprs := cons(term, exprs) + else + nterms := cons(term, nterms) + terms := nterms if not empty? exprs then foundLog := false i : NonNegativeInteger := 0 |