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-poly.el


From: Jay Belanger
Subject: [Emacs-diffs] Changes to emacs/lisp/calc/calc-poly.el
Date: Wed, 07 Sep 2005 15:27:11 -0400

Index: emacs/lisp/calc/calc-poly.el
diff -c emacs/lisp/calc/calc-poly.el:1.14 emacs/lisp/calc/calc-poly.el:1.15
*** emacs/lisp/calc/calc-poly.el:1.14   Thu Jul 14 19:46:05 2005
--- emacs/lisp/calc/calc-poly.el        Wed Sep  7 19:27:11 2005
***************
*** 1069,1086 ****
         (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 (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))))))))
        (t expr)))
  
  (defun calcFunc-expand (expr &optional many)
--- 1069,1113 ----
         (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 (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)




reply via email to

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