Changeset 3988 for vendor/emacs-CVS_HEAD/lisp/calc/calc-alg.el
- Timestamp:
- 11/26/05 08:33:26 (3 years ago)
- Files:
-
- vendor/emacs-CVS_HEAD/lisp/calc/calc-alg.el (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
vendor/emacs-CVS_HEAD/lisp/calc/calc-alg.el
r3939 r3988 93 93 94 94 ;;; Write out powers (a*b*...)^n as a*b*...*a*b*... 95 (defun calcFunc- writeoutpower(expr)96 (math-normalize (math-map-tree 'math- write-out-powerexpr)))97 98 (defun math- write-out-power(expr)95 (defun calcFunc-powerexpand (expr) 96 (math-normalize (math-map-tree 'math-powerexpand expr))) 97 98 (defun math-powerexpand (expr) 99 99 (if (eq (car-safe expr) '^) 100 (let ((a (nth 1 expr)) 101 (n (nth 2 expr)) 102 (prod (nth 1 expr)) 103 (i 1)) 104 (if (and (integerp n) 105 (> n 0)) 106 (progn 107 (while (< i n) 108 (setq prod (math-mul prod a)) 109 (setq i (1+ i))) 110 prod) 111 expr)) 100 (let ((n (nth 2 expr))) 101 (cond ((and (integerp n) 102 (> n 0)) 103 (let ((i 1) 104 (a (nth 1 expr)) 105 (prod (nth 1 expr))) 106 (while (< i n) 107 (setq prod (math-mul prod a)) 108 (setq i (1+ i))) 109 prod)) 110 ((and (integerp n) 111 (< n 0)) 112 (let ((i -1) 113 (a (math-pow (nth 1 expr) -1)) 114 (prod (math-pow (nth 1 expr) -1))) 115 (while (> i n) 116 (setq prod (math-mul a prod)) 117 (setq i (1- i))) 118 prod)) 119 (t 120 expr))) 112 121 expr)) 113 122 114 (defun calc- writeoutpower()123 (defun calc-powerexpand () 115 124 (interactive) 116 125 (calc-slow-wrapper 117 (calc-enter-result 1 " expp"118 (calcFunc- writeoutpower(calc-top-n 1)))))126 (calc-enter-result 1 "pexp" 127 (calcFunc-powerexpand (calc-top-n 1))))) 119 128 120 129 (defun calc-collect (&optional var)
