Function: math-simplify-add-term
math-simplify-add-term is a byte-compiled function defined in
calc-alg.el.gz.
Signature
(math-simplify-add-term NP DP MINUS LPLAIN)
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc-alg.el.gz
(defun math-simplify-add-term (np dp minus lplain)
(or (math-vectorp (car np))
(let ((rplain t)
n d temp)
(while (memq (car-safe (setq n (car np) d (car dp))) '(+ -))
(setq rplain nil)
(if (setq temp (math-combine-sum n (nth 2 d)
minus (eq (car d) '+) t))
(if (or lplain (eq (math-looks-negp temp) minus))
(progn
(setcar np (setq n (if minus (math-neg temp) temp)))
(setcar (cdr (cdr d)) 0))
(progn
(setcar np 0)
(setcar (cdr (cdr d)) (setq n (if (eq (car d) '+)
(math-neg temp)
temp))))))
(setq dp (cdr d)))
(if (setq temp (math-combine-sum n d minus t t))
(if (or lplain
(and (not rplain)
(eq (math-looks-negp temp) minus)))
(progn
(setcar np (setq n (if minus (math-neg temp) temp)))
(setcar dp 0))
(progn
(setcar np 0)
(setcar dp (setq n (math-neg temp)))))))))