Function: math-simplify-divisor
math-simplify-divisor is a byte-compiled function defined in
calc-alg.el.gz.
Signature
(math-simplify-divisor NP DP NOVER DOVER)
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc-alg.el.gz
(defun math-simplify-divisor (np dp nover dover)
(cond ((eq (car-safe (car dp)) '/)
(math-simplify-divisor np (cdr (car dp))
nover dover)
(and (math-known-scalarp (nth 1 (car dp)) t)
(math-simplify-divisor np (cdr (cdr (car dp)))
nover (not dover))))
((or (or (eq (car math--simplify-divide-expr) '/)
(let ((signs (math-possible-signs (car np))))
(or (memq signs '(1 4))
(and (memq (car math--simplify-divide-expr)
'(calcFunc-eq calcFunc-neq))
(eq signs 5))
math-living-dangerously)))
(math-numberp (car np)))
(let (d
(safe t)
(math-simplify-divisor-nover nover)
(math-simplify-divisor-dover dover)
(scalar (math-known-scalarp (car np))))
(while (and (eq (car-safe (setq d (car dp))) '*)
safe)
(math-simplify-one-divisor np (cdr d))
(setq safe (or scalar (math-known-scalarp (nth 1 d) t))
dp (cdr (cdr d))))
(if safe
(math-simplify-one-divisor np dp))))))