From: Raymond T. <rt...@us...> - 2004-10-04 14:31:12
|
Update of /cvsroot/maxima/maxima/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3128/src Modified Files: limit.lisp Log Message: o Fix for BUG [ 1036900 ] limit(7^n/8^n,n,inf); unevaluated. The examples given there now work, except for 4^n/2^(2*n). o Fix for BUG [ 1038584 ] integrate(exp(x^3),x,0,1) => internal error. Needed to use LESSTHAN instead of < to handle the case where Maxima rational numbers were compared. Index: limit.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/limit.lisp,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- limit.lisp 4 Oct 2004 02:25:55 -0000 1.6 +++ limit.lisp 4 Oct 2004 14:31:00 -0000 1.7 @@ -1266,15 +1266,15 @@ (declare (special var)) (cond ((let ((log-num (involve num '(%log)))) (cond ((null log-num) ()) - ((< (num-of-logs (factor (sratsimp (sdiff (m^ num -1) var)))) - (num-of-logs (factor (sratsimp (sdiff num var))))) - (psetq num (m^ denom -1) denom (m^ num -1)) t) + ((lessthan (num-of-logs (factor (sratsimp (sdiff (M^ num -1) var)))) + (num-of-logs (factor (sratsimp (sdiff num var))))) + (psetq num (M^ denom -1) denom (m^ num -1)) T) (t t)))) ((let ((log-denom (involve denom '(%log)))) (cond ((null log-denom) ()) - ((< (num-of-logs (sratsimp (sdiff (m^ denom -1) var))) - (num-of-logs (sratsimp (sdiff denom var)))) - (psetq denom (m^ num -1) num (m^ denom -1)) + ((lessthan (num-of-logs (sratsimp (sdiff (m^ denom -1) var))) + (num-of-logs (sratsimp (sdiff denom var)))) + (psetq denom (M^ num -1) num (m^ denom -1)) ;;psetq might return nil but we want to select this clause. t ) @@ -2052,6 +2052,10 @@ (eq tb 'gen)) ()) ((and (eq ta tb) (eq ta 'var)) (ratgreaterp (caddr a) (caddr b))) + ((and (eq ta tb) (eq ta 'exp)) + ;; Both are exponential order of infinity. Check the + ;; exponents to determine which exponent is bigger. + (ratgreaterp (third (second a)) (third (second b)))) ((memq ta (cdr (memq tb *limorder))))))) (defun ismax (l) |