Function: calcFunc-clean
calcFunc-clean is an autoloaded and byte-compiled function defined in
calc-stuff.el.gz.
Signature
(calcFunc-clean A &optional PREC)
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc-stuff.el.gz
(defun calcFunc-clean (a &optional prec) ; [X X S] [Public]
(if prec
(cond ((Math-messy-integerp prec)
(calcFunc-clean a (math-trunc prec)))
((or (not (integerp prec))
(< prec 3))
(calc-record-why "*Precision must be an integer 3 or above")
(list 'calcFunc-clean a prec))
((not (Math-objvecp a))
(list 'calcFunc-clean a prec))
(t (let ((calc-internal-prec prec)
(math-chopping-small t))
(calcFunc-clean (math-normalize a)))))
(cond ((eq (car-safe a) 'polar)
(let ((theta (math-mod (nth 2 a)
(if (eq calc-angle-mode 'rad)
(math-two-pi)
360))))
(math-neg
(math-neg
(math-normalize
(list 'polar
(calcFunc-clean (nth 1 a))
(calcFunc-clean theta)))))))
((memq (car-safe a) '(vec date hms))
(cons (car a) (mapcar 'calcFunc-clean (cdr a))))
((memq (car-safe a) '(cplx mod sdev intv))
(math-normalize (cons (car a) (mapcar 'calcFunc-clean (cdr a)))))
((eq (car-safe a) 'float)
(if math-chopping-small
(if (or (> (nth 2 a) (- calc-internal-prec))
(Math-lessp (- calc-internal-prec) (calcFunc-xpon a)))
(if (and (math-num-integerp a)
(math-lessp (calcFunc-xpon a) calc-internal-prec))
(math-trunc a)
a)
0)
a))
((Math-objectp a) a)
((math-infinitep a) a)
(t (list 'calcFunc-clean a)))))