aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Belanger2005-10-28 03:52:38 +0000
committerJay Belanger2005-10-28 03:52:38 +0000
commit93e7f889422e0d4475cd0ef248470e4125067f32 (patch)
tree09a85ec3d45c2627aac18fc33313e231b37f9d31
parent5c0e273a4c333afc812218c88cea0415f4ebeed3 (diff)
downloademacs-93e7f889422e0d4475cd0ef248470e4125067f32.tar.gz
emacs-93e7f889422e0d4475cd0ef248470e4125067f32.zip
(calcFunc-writeoutpower, math-write-out-power, calc-writeoutpower):
New functions.
-rw-r--r--lisp/calc/calc-alg.el26
1 files changed, 26 insertions, 0 deletions
diff --git a/lisp/calc/calc-alg.el b/lisp/calc/calc-alg.el
index ada18830988..11d550bb5d2 100644
--- a/lisp/calc/calc-alg.el
+++ b/lisp/calc/calc-alg.el
@@ -91,6 +91,32 @@
91 (calc-top-n 1)) 91 (calc-top-n 1))
92 (and n (list (prefix-numeric-value n))))))) 92 (and n (list (prefix-numeric-value n)))))))
93 93
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-power expr)))
97
98(defun math-write-out-power (expr)
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))
112 expr))
113
114(defun calc-writeoutpower ()
115 (interactive)
116 (calc-slow-wrapper
117 (calc-enter-result 1 "expp"
118 (calcFunc-writeoutpower (calc-top-n 1)))))
119
94(defun calc-collect (&optional var) 120(defun calc-collect (&optional var)
95 (interactive "sCollect terms involving: ") 121 (interactive "sCollect terms involving: ")
96 (calc-slow-wrapper 122 (calc-slow-wrapper