fricas (1) -> simplifyLog(2*sqrt(2)*log(2))
Type: Expression(Integer)
An idea ? --unknown, Thu, 30 Mar 2006 14:55:11 -0600 reply It's perhaps the line
for i in 1..#terms repeat
in manip.spad file and simplifyLog1 function to change in
for i in #term..1 by -1 repeat
because there is a delete!(terms,i) in the loop.
It's perhaps necessary to add exprs := reverse! exprs at the end of the loop, if we want to remain the order of the terms. FMy?. Category: Axiom Interpreter => Axiom Library Status: open => fix proposed Status: fix proposed => fixed somewhereno patch available From wh-sandbox: ? 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 " title=" --- branches/wh-sandbox/src/algebra/manip.spad.pamphlet 2006/11/15 17:26:27 263 +++ branches/wh-sandbox/src/algebra/manip.spad.pamphlet 2006/12/12 03:05:14 397 @@ -623,10 +623,13 @@ -- 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 " class="equation" src="images/7151032306766980608-16.0px.png" align="bottom" Style="vertical-align:text-bottom" width="816" height="1056"/> |