Function: math-mul
math-mul is a byte-compiled function defined in calc.el.gz.
Signature
(math-mul A B)
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc.el.gz
;;; Compute the product of A and B. [O O O] [Public]
(defun math-mul (a b)
(or
(and (not (consp a)) (not (consp b))
(* a b))
(and (Math-zerop a) (not (eq (car-safe b) 'mod))
(if (Math-scalarp b)
(if (and (math-floatp b) (Math-ratp a)) (math-float a) a)
(require 'calc-ext)
(math-mul-zero a b)))
(and (Math-zerop b) (not (eq (car-safe a) 'mod))
(if (Math-scalarp a)
(if (and (math-floatp a) (Math-ratp b)) (math-float b) b)
(require 'calc-ext)
(math-mul-zero b a)))
(and (Math-objvecp a) (Math-objvecp b)
(or
(and (Math-ratp a) (Math-ratp b)
(require 'calc-ext)
(calc-mul-fractions a b))
(and (Math-realp a) (Math-realp b)
(progn
(or (and (consp a) (eq (car a) 'float))
(setq a (math-float a)))
(or (and (consp b) (eq (car b) 'float))
(setq b (math-float b)))
(math-make-float (math-mul (nth 1 a) (nth 1 b))
(+ (nth 2 a) (nth 2 b)))))
(and (require 'calc-ext)
(math-mul-objects-fancy a b))))
(and (require 'calc-ext)
(math-mul-symb-fancy a b))))