diff options
| author | Jay Belanger | 2005-10-28 03:52:38 +0000 |
|---|---|---|
| committer | Jay Belanger | 2005-10-28 03:52:38 +0000 |
| commit | 93e7f889422e0d4475cd0ef248470e4125067f32 (patch) | |
| tree | 09a85ec3d45c2627aac18fc33313e231b37f9d31 | |
| parent | 5c0e273a4c333afc812218c88cea0415f4ebeed3 (diff) | |
| download | emacs-93e7f889422e0d4475cd0ef248470e4125067f32.tar.gz emacs-93e7f889422e0d4475cd0ef248470e4125067f32.zip | |
(calcFunc-writeoutpower, math-write-out-power, calc-writeoutpower):
New functions.
| -rw-r--r-- | lisp/calc/calc-alg.el | 26 |
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 |