comparison lisp/calc/calc-mode.el @ 65901:f4c158053fb0

(calc-matrix-mode, math-get-modes-vec): Add square matrix option.
author Jay Belanger <jay.p.belanger@gmail.com>
date Fri, 07 Oct 2005 21:18:01 +0000
parents 1038e6fc7f28
children 43c517a3ef4e
comparison
equal deleted inserted replaced
65900:13cc64069e8c 65901:f4c158053fb0
350 (if calc-symbolic-mode 1 0) 350 (if calc-symbolic-mode 1 0)
351 (if calc-prefer-frac 1 0) 351 (if calc-prefer-frac 1 0)
352 (if (eq calc-complex-mode 'polar) 1 0) 352 (if (eq calc-complex-mode 'polar) 1 0)
353 (cond ((eq calc-matrix-mode 'scalar) 0) 353 (cond ((eq calc-matrix-mode 'scalar) 0)
354 ((eq calc-matrix-mode 'matrix) -2) 354 ((eq calc-matrix-mode 'matrix) -2)
355 ((eq calc-matrix-mode 'square) -3)
355 (calc-matrix-mode) 356 (calc-matrix-mode)
356 (t -1)) 357 (t -1))
357 (cond ((eq calc-simplify-mode 'none) -1) 358 (cond ((eq calc-simplify-mode 'none) -1)
358 ((eq calc-simplify-mode 'num) 0) 359 ((eq calc-simplify-mode 'num) 0)
359 ((eq calc-simplify-mode 'binary) 2) 360 ((eq calc-simplify-mode 'binary) 2)
474 (calc-wrapper 475 (calc-wrapper
475 (calc-change-mode 'calc-matrix-mode 476 (calc-change-mode 'calc-matrix-mode
476 (cond ((eq arg 0) 'scalar) 477 (cond ((eq arg 0) 'scalar)
477 ((< (prefix-numeric-value arg) 1) 478 ((< (prefix-numeric-value arg) 1)
478 (and (< (prefix-numeric-value arg) -1) 'matrix)) 479 (and (< (prefix-numeric-value arg) -1) 'matrix))
479 (arg (prefix-numeric-value arg)) 480 (arg
481 (if (consp arg) 'square
482 (prefix-numeric-value arg)))
480 ((eq calc-matrix-mode 'matrix) 'scalar) 483 ((eq calc-matrix-mode 'matrix) 'scalar)
481 ((eq calc-matrix-mode 'scalar) nil) 484 ((eq calc-matrix-mode 'scalar) nil)
482 (t 'matrix))) 485 (t 'matrix)))
483 (if (integerp calc-matrix-mode) 486 (if (integerp calc-matrix-mode)
484 (message "Variables are assumed to be %dx%d matrices" 487 (message "Variables are assumed to be %dx%d matrices"
485 calc-matrix-mode calc-matrix-mode) 488 calc-matrix-mode calc-matrix-mode)
486 (message (if (eq calc-matrix-mode 'matrix) 489 (message (if (eq calc-matrix-mode 'matrix)
487 "Variables are assumed to be matrices" 490 "Variables are assumed to be matrices"
488 (if calc-matrix-mode 491 (if (eq calc-matrix-mode 'square)
489 "Variables are assumed to be scalars (non-matrices)" 492 "Variables are assumed to be square matrices"
490 "Variables are not assumed to be matrix or scalar")))))) 493 (if calc-matrix-mode
494 "Variables are assumed to be scalars (non-matrices)"
495 "Variables are not assumed to be matrix or scalar")))))))
491 496
492 (defun calc-set-simplify-mode (mode arg msg) 497 (defun calc-set-simplify-mode (mode arg msg)
493 (calc-change-mode 'calc-simplify-mode 498 (calc-change-mode 'calc-simplify-mode
494 (if arg 499 (if arg
495 (and (> (prefix-numeric-value arg) 0) 500 (and (> (prefix-numeric-value arg) 0)