Show
Ignore:
Timestamp:
2005年09月10日 10時16分00秒 (3 years ago)
Author:
miyoshi
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lisp/calc/calc-poly.el

    r3801 r3863  
    10701070                          (list '/ (nth 2 (nth 1 expr)) (nth 2 expr)) 
    10711071                          nil (eq (car (nth 1 expr)) '-))) 
     1072        ((and (eq calc-matrix-mode 'matrix) 
     1073              (eq (car-safe expr) '^) 
     1074              (natnump (nth 2 expr)) 
     1075              (> (nth 2 expr) 1) 
     1076              (memq (car-safe (nth 1 expr)) '(+ -))) 
     1077         (if (= (nth 2 expr) 2) 
     1078             (math-add-or-sub (list '* (nth 1 (nth 1 expr)) (nth 1 expr)) 
     1079                              (list '* (nth 2 (nth 1 expr)) (nth 1 expr)) 
     1080                              nil (eq (car (nth 1 expr)) '-)) 
     1081           (math-add-or-sub (list '* (nth 1 (nth 1 expr)) (list '^ (nth 1 expr)  
     1082                                                                (1- (nth 2 expr)))) 
     1083                            (list '* (nth 2 (nth 1 expr)) (list '^ (nth 1 expr)  
     1084                                                                (1- (nth 2 expr)))) 
     1085                            nil (eq (car (nth 1 expr)) '-)))) 
    10721086        ((and (eq (car-safe expr) '^) 
    10731087              (memq (car-safe (nth 1 expr)) '(+ -)) 
    10741088              (integerp (nth 2 expr)) 
    1075               (if (> (nth 2 expr) 0) 
    1076                   (or (and (or (> math-mt-many 500000) (< math-mt-many -500000)) 
    1077                            (math-expand-power (nth 1 expr) (nth 2 expr) 
    1078                                               nil t)) 
    1079                       (list '* 
    1080                             (nth 1 expr) 
    1081                             (list '^ (nth 1 expr) (1- (nth 2 expr))))) 
    1082                 (if (< (nth 2 expr) 0) 
    1083                     (list '/ 1 (list '^ (nth 1 expr) (- (nth 2 expr)))))))) 
     1089              (if (and (eq calc-matrix-mode 'matrix) 
     1090                       (> (nth 2 expr) 1)) 
     1091                  (if (= (nth 2 expr) 2) 
     1092                      (math-add-or-sub (list '* (nth 1 (nth 1 expr)) (nth 1 expr)) 
     1093                                       (list '* (nth 2 (nth 1 expr)) (nth 1 expr)) 
     1094                                       nil (eq (car (nth 1 expr)) '-)) 
     1095                    (math-add-or-sub (list '* (nth 1 (nth 1 expr))  
     1096                                           (list '^ (nth 1 expr)  
     1097                                                 (1- (nth 2 expr)))) 
     1098                                     (list '* (nth 2 (nth 1 expr))  
     1099                                           (list '^ (nth 1 expr)  
     1100                                                 (1- (nth 2 expr)))) 
     1101                                     nil (eq (car (nth 1 expr)) '-))) 
     1102                (if (> (nth 2 expr) 0) 
     1103                    (or (and (or (> math-mt-many 500000) (< math-mt-many -500000)) 
     1104                             (math-expand-power (nth 1 expr) (nth 2 expr) 
     1105                                                nil t)) 
     1106                        (list '* 
     1107                              (nth 1 expr) 
     1108                              (list '^ (nth 1 expr) (1- (nth 2 expr))))) 
     1109                  (if (< (nth 2 expr) 0) 
     1110                      (list '/ 1 (list '^ (nth 1 expr) (- (nth 2 expr))))))))) 
    10841111        (t expr))) 
    10851112