Function: math-numdigs

math-numdigs is a byte-compiled function defined in calc.el.gz.

Signature

(math-numdigs A)

Source Code

;; Defined in /usr/src/emacs/lisp/calc/calc.el.gz
;;; Compute the number of decimal digits in integer A.  [S I]
(defun math-numdigs (a)
  (cond
   ((= a 0) 0)
   ((progn (when (< a 0) (setq a (- a)))
           (>= a 100))
    (let* ((bd (logb a))
           (d (truncate (/ bd (eval-when-compile (log 10 2))))))
      (let ((b (expt 10 d)))
        (cond
         ((> b a) d)
         ((> (* 10 b) a) (1+ d))
         (t (+ d 2))))))
   ((>= a 10) 2)
   (t 1)))