emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/calc/calc-alg.el


From: Jay Belanger
Subject: [Emacs-diffs] Changes to emacs/lisp/calc/calc-alg.el
Date: Thu, 27 Oct 2005 23:52:38 -0400

Index: emacs/lisp/calc/calc-alg.el
diff -c emacs/lisp/calc/calc-alg.el:1.15 emacs/lisp/calc/calc-alg.el:1.16
*** emacs/lisp/calc/calc-alg.el:1.15    Thu Jul 14 19:31:12 2005
--- emacs/lisp/calc/calc-alg.el Fri Oct 28 03:52:38 2005
***************
*** 91,96 ****
--- 91,122 ----
                                    (calc-top-n 1))
                              (and n (list (prefix-numeric-value n)))))))
  
+ ;;; Write out powers (a*b*...)^n as a*b*...*a*b*...
+ (defun calcFunc-writeoutpower (expr)
+   (math-normalize (math-map-tree 'math-write-out-power expr)))
+ 
+ (defun math-write-out-power (expr)
+   (if (eq (car-safe expr) '^)
+       (let ((a (nth 1 expr))
+             (n (nth 2 expr))
+             (prod (nth 1 expr))
+             (i 1))
+         (if (and (integerp n)
+                  (> n 0))
+             (progn
+               (while (< i n)
+                 (setq prod (math-mul prod a))
+                 (setq i (1+ i)))
+               prod)
+           expr))
+     expr))
+ 
+ (defun calc-writeoutpower ()
+   (interactive)
+   (calc-slow-wrapper
+    (calc-enter-result 1 "expp"
+                     (calcFunc-writeoutpower (calc-top-n 1)))))
+ 
  (defun calc-collect (&optional var)
    (interactive "sCollect terms involving: ")
    (calc-slow-wrapper




reply via email to

[Prev in Thread] Current Thread [Next in Thread]