From: Dieter K. <cra...@us...> - 2010-04-28 23:15:21
|
Update of /cvsroot/maxima/maxima/src In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv9215/src Modified Files: csimp.lisp Log Message: Changing the name of islinp to *islinp*: 1. Removing the variable from declare-top The variable is only used in the routine islinear. 2. Declare *islinp* to be special in the routine islinear. With this changes and the changes in comm.lisp revision 1.42 the functionality of the global special *islinp* is more clear and better documented. No problems with the testsuite and share_testsuite. Index: csimp.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/csimp.lisp,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- csimp.lisp 3 Apr 2010 11:26:56 -0000 1.22 +++ csimp.lisp 28 Apr 2010 23:15:12 -0000 1.23 @@ -15,7 +15,7 @@ (declare-top (special rsn* $factlim $exponentialize var varlist genvar $%emode $ratprint nn* dn* $errexp sqrt3//2 sqrt2//2 -sqrt2//2 -sqrt3//2 - $demoivre errorsw islinp $keepfloat $ratfac)) + $demoivre errorsw $keepfloat $ratfac)) (load-macsyma-macros rzmac) @@ -33,7 +33,6 @@ (defmvar %pi2 '((mtimes) 2 $%pi)) (defmvar half%pi3 '((mtimes) ((rat simp) 3 2) $%pi)) (defmvar $sumsplitfact t) ;= nil minfactorial is applied after a factocomb. -;(defmvar $gammalim 1000000.) Moved to csimp2.lisp (loop for (a b) on '(%sin %asin %cos %acos %tan %atan @@ -60,13 +59,14 @@ (m+ (list '(%cos) (car l)) (m* '$%i (list '(%sin) (car l))))))))) -;;;If exp is of the form a*var1+b where a is freeof var1 -;;; then (a . b) is returned else nil -(defun islinear (exp var1) - (let ((a (let ((islinp t)) - (sdiff exp var1)))) +;; If expr is of the form a*var1+b where a is freeof var1 +;; then (a . b) is returned else nil. +(defun islinear (expr var1) + (declare (special *islinp*)) + (let ((a (let ((*islinp* t)) + (sdiff expr var1)))) (if (freeof var1 a) - (cons a (maxima-substitute 0 var1 exp))))) + (cons a (maxima-substitute 0 var1 expr))))) (defmfun $partition (e var1) (prog (k) |