From 8fc5f8233b811bf2fe08cb641a4d00538c654030 Mon Sep 17 00:00:00 2001 From: Jay Belanger Date: Fri, 7 Oct 2005 21:18:22 +0000 Subject: [PATCH] (math-expand-term): Check for matrices instead of checking calc-matrix-mode when deciding how to expand. --- lisp/calc/calc-poly.el | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/lisp/calc/calc-poly.el b/lisp/calc/calc-poly.el index e27705de98a..4714b2f7d38 100644 --- a/lisp/calc/calc-poly.el +++ b/lisp/calc/calc-poly.el @@ -1069,25 +1069,18 @@ (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 (and + (or (math-known-matrixp (nth 1 (nth 1 expr))) + (math-known-matrixp (nth 2 (nth 1 expr))) + (and + calc-matrix-mode + (not (eq calc-matrix-mode 'scalar)) + (not (and (math-known-scalarp (nth 1 (nth 1 expr))) + (math-known-scalarp (nth 2 (nth 1 expr))))))) + (> (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)) -- 2.39.2