(math-expand-term): Multiply out the powers when in matrix mode.
This commit is contained in:
parent
104fc809f9
commit
2ccc02f218
2 changed files with 41 additions and 9 deletions
|
@ -1,3 +1,8 @@
|
|||
2005-09-07 Jay Belanger <belanger@truman.edu>
|
||||
|
||||
* calc/calc-poly.el (math-expand-term): Multiply out any powers
|
||||
when in matrix mode.
|
||||
|
||||
2005-09-08 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* buff-menu.el (Buffer-menu-sort-by-column): New function.
|
||||
|
|
|
@ -1069,18 +1069,45 @@
|
|||
(math-add-or-sub (list '/ (nth 1 (nth 1 expr)) (nth 2 expr))
|
||||
(list '/ (nth 2 (nth 1 expr)) (nth 2 expr))
|
||||
nil (eq (car (nth 1 expr)) '-)))
|
||||
((and (eq calc-matrix-mode 'matrix)
|
||||
(eq (car-safe expr) '^)
|
||||
(natnump (nth 2 expr))
|
||||
(> (nth 2 expr) 1)
|
||||
(memq (car-safe (nth 1 expr)) '(+ -)))
|
||||
(if (= (nth 2 expr) 2)
|
||||
(math-add-or-sub (list '* (nth 1 (nth 1 expr)) (nth 1 expr))
|
||||
(list '* (nth 2 (nth 1 expr)) (nth 1 expr))
|
||||
nil (eq (car (nth 1 expr)) '-))
|
||||
(math-add-or-sub (list '* (nth 1 (nth 1 expr)) (list '^ (nth 1 expr)
|
||||
(1- (nth 2 expr))))
|
||||
(list '* (nth 2 (nth 1 expr)) (list '^ (nth 1 expr)
|
||||
(1- (nth 2 expr))))
|
||||
nil (eq (car (nth 1 expr)) '-))))
|
||||
((and (eq (car-safe expr) '^)
|
||||
(memq (car-safe (nth 1 expr)) '(+ -))
|
||||
(integerp (nth 2 expr))
|
||||
(if (> (nth 2 expr) 0)
|
||||
(or (and (or (> math-mt-many 500000) (< math-mt-many -500000))
|
||||
(math-expand-power (nth 1 expr) (nth 2 expr)
|
||||
nil t))
|
||||
(list '*
|
||||
(nth 1 expr)
|
||||
(list '^ (nth 1 expr) (1- (nth 2 expr)))))
|
||||
(if (< (nth 2 expr) 0)
|
||||
(list '/ 1 (list '^ (nth 1 expr) (- (nth 2 expr))))))))
|
||||
(if (and (eq calc-matrix-mode 'matrix)
|
||||
(> (nth 2 expr) 1))
|
||||
(if (= (nth 2 expr) 2)
|
||||
(math-add-or-sub (list '* (nth 1 (nth 1 expr)) (nth 1 expr))
|
||||
(list '* (nth 2 (nth 1 expr)) (nth 1 expr))
|
||||
nil (eq (car (nth 1 expr)) '-))
|
||||
(math-add-or-sub (list '* (nth 1 (nth 1 expr))
|
||||
(list '^ (nth 1 expr)
|
||||
(1- (nth 2 expr))))
|
||||
(list '* (nth 2 (nth 1 expr))
|
||||
(list '^ (nth 1 expr)
|
||||
(1- (nth 2 expr))))
|
||||
nil (eq (car (nth 1 expr)) '-)))
|
||||
(if (> (nth 2 expr) 0)
|
||||
(or (and (or (> math-mt-many 500000) (< math-mt-many -500000))
|
||||
(math-expand-power (nth 1 expr) (nth 2 expr)
|
||||
nil t))
|
||||
(list '*
|
||||
(nth 1 expr)
|
||||
(list '^ (nth 1 expr) (1- (nth 2 expr)))))
|
||||
(if (< (nth 2 expr) 0)
|
||||
(list '/ 1 (list '^ (nth 1 expr) (- (nth 2 expr)))))))))
|
||||
(t expr)))
|
||||
|
||||
(defun calcFunc-expand (expr &optional many)
|
||||
|
|
Loading…
Add table
Reference in a new issue