Function: math-float-parts
math-float-parts is an autoloaded and byte-compiled function defined
in calc-bin.el.gz.
Signature
(math-float-parts A NEED-FRAC)
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc-bin.el.gz
;;; Decompose into integer and fractional parts, without depending
;;; on calc-internal-prec.
(defun math-float-parts (a need-frac) ; returns ( int frac fracdigs )
(if (>= (nth 2 a) 0)
(list (math-scale-rounding (nth 1 a) (nth 2 a)) '(float 0 0) 0)
(let* ((d (math-numdigs (nth 1 a)))
(n (- (nth 2 a))))
(if need-frac
(if (>= n d)
(list 0 a n)
(let ((qr (math-idivmod (nth 1 a) (math-scale-int 1 n))))
(list (car qr) (math-make-float (cdr qr) (- n)) n)))
(list (math-scale-rounding (nth 1 a) (nth 2 a))
'(float 0 0) 0)))))