From: Dan G. <dg...@us...> - 2009-04-12 16:15:13
|
Update of /cvsroot/maxima/maxima/src In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv17388/src Modified Files: limit.lisp Log Message: src/limit.lisp: o stirling0: apply stirling approx only when arg of factorial tends to inf. fixes [ 2727078 ] wrong limit(log(gamma(x+1))/x,x,0) o make-limit-assumptions: zeroa < 1e-8, zerob > -1e-8 allows limit to get limit(floor(x), x, 0, plus) removes imaginary term in integrate(1/x, x, -1, 1) tests/rtest16.mac: o update tests, add 2727078 Index: limit.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/limit.lisp,v retrieving revision 1.66 retrieving revision 1.67 diff -u -d -r1.66 -r1.67 --- limit.lisp 5 Apr 2009 21:57:04 -0000 1.66 +++ limit.lisp 12 Apr 2009 16:15:08 -0000 1.67 @@ -247,9 +247,11 @@ ((eq val '$minf) `(,(assume `((mgreaterp) -1e+8 ,var)) ,@new-assumptions)) ((eq direction '$plus) - `(,(assume `((mgreaterp) ,var 0)) ,@new-assumptions)) ;All limits around 0 + `(,(assume `((mgreaterp) 1e-8 ,var)) + ,(assume `((mgreaterp) ,var 0)) ,@new-assumptions)) ;All limits around 0 ((eq direction '$minus) - `(,(assume `((mgreaterp) 0 ,var)) ,@new-assumptions)) + `(,(assume `((mgreaterp) ,var -1e-8)) + ,(assume `((mgreaterp) 0 ,var)) ,@new-assumptions)) (t ())))) @@ -918,10 +920,10 @@ ((and (setq e (cons (car e) (mapcar 'stirling0 (cdr e)))) nil)) ((and (eq (caar e) '%gamma) - (among var (cadr e))) + (eq (limit (cadr e) var val 'think) '$inf)) (stirling (cadr e))) ((and (eq (caar e) 'mfactorial) - (among var (cadr e))) + (eq (limit (cadr e) var val 'think) '$inf)) (m* (cadr e) (stirling (cadr e)))) (t e))) |