From: Dan G. <dg...@us...> - 2007-12-26 20:57:47
|
Update of /cvsroot/maxima/maxima/src In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv22413 Modified Files: pade.lisp Log Message: o $pade: handle case where input is not power series because original expression is constant w.r.t. taylor var. fixes [ 604850 ] pade produces an error when taylor expr is freeof variable Index: pade.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/pade.lisp,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- pade.lisp 27 Mar 2007 20:40:50 -0000 1.6 +++ pade.lisp 26 Dec 2007 20:57:20 -0000 1.7 @@ -47,11 +47,13 @@ (cond ((not (and ($ratp taylor-form) (member 'trunc (car taylor-form) :test #'eq))) (merror "First argument to Pade must be a taylor series"))) (destructuring-let (((nil nil varlist genvar tlist) (car taylor-form))) - (cons '(mlist) - (pade (cdr taylor-form) - (cons (car (tay-order n-bound)) - (car (tay-order d-bound))) - (orig-trunc (car (mrat-tlist taylor-form))))))) + (if (psp (cdr taylor-form)) + (cons '(mlist) + (pade (cdr taylor-form) + (cons (car (tay-order n-bound)) + (car (tay-order d-bound))) + (orig-trunc (car (mrat-tlist taylor-form))))) + (list '(mlist) (srdis (cdr taylor-form)))))) (defun pade (tpf bounds trunc) (let ((ord (le (terms tpf))) (poly (terms tpf))) |