Function: math-is-multiple
math-is-multiple is an autoloaded and byte-compiled function defined
in calc-alg.el.gz.
Signature
(math-is-multiple EXPR &optional ALWAYS)
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc-alg.el.gz
(defun math-is-multiple (expr &optional always)
(or (if (eq (car-safe expr) '*)
(if (Math-objectp (nth 1 expr))
(list (nth 1 expr) (nth 2 expr)))
(if (eq (car-safe expr) '/)
(if (and (Math-objectp (nth 1 expr))
(not (math-equal-int (nth 1 expr) 1)))
(list (nth 1 expr) (math-div 1 (nth 2 expr)))
(if (Math-objectp (nth 2 expr))
(list (math-div 1 (nth 2 expr)) (nth 1 expr))
(let ((res (math-is-multiple (nth 1 expr))))
(if res
(list (car res)
(math-div (nth 2 (nth 1 expr)) (nth 2 expr)))
(setq res (math-is-multiple (nth 2 expr)))
(if res
(list (math-div 1 (car res))
(math-div (nth 1 expr)
(nth 2 (nth 2 expr)))))))))
(if (eq (car-safe expr) 'neg)
(list -1 (nth 1 expr)))))
(if (Math-objvecp expr)
(and (eq always 1)
(list expr 1))
(and always
(list 1 expr)))))