From: Dieter K. <cra...@us...> - 2009-08-19 21:18:23
|
Update of /cvsroot/maxima/maxima/src In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv27423 Modified Files: defint.lisp Log Message: Set limitp not in the routine $defint but in the routine defint. The answer of $imagpart depends on the value of limitp. In the routine $defint we prepare the integrand and check the boundaries of the integral using the routine $imagpart. To get the expected answer from $imagpart we do not set limitp in $defint, but later in the routine defint. Related bug report: defint fails to determine if one of its limit is real - ID: 2840566 Tested with CLISP 2.44 and GCL 2.6.8. No problems with the testsuite. Index: defint.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/defint.lisp,v retrieving revision 1.64 retrieving revision 1.65 diff -u -d -r1.64 -r1.65 --- defint.lisp 11 Jul 2009 19:07:30 -0000 1.64 +++ defint.lisp 19 Aug 2009 21:18:13 -0000 1.65 @@ -185,7 +185,7 @@ (*sin-cos-recur* ()) (*dintexp-recur* ()) (*dintlog-recur* 0.) (ans nil) (orig-exp exp) (orig-var var) (orig-ll ll) (orig-ul ul) - (pcprntd nil) (*nodiverg nil) ($logabs t) (limitp t) + (pcprntd nil) (*nodiverg nil) ($logabs t) ; (limitp t) (rp-polylogp ()) ($domain '$real) ($m1pbranch ())) ;Try this out. @@ -384,7 +384,9 @@ (setq exp1 (sratsimp (subst var 'yx exp1)))) (defun defint (exp var ll ul) - (let ((old-assumptions *defint-assumptions*) (*current-assumptions* ())) + (let ((old-assumptions *defint-assumptions*) + (*current-assumptions* ()) + (limitp t)) (unwind-protect (prog () (setq *current-assumptions* (make-defint-assumptions 'noask)) |