mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-15 05:43:19 -08:00
fromat-f: Use new wrapper function float-to-digits*.
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
This commit is contained in:
parent
887770281d
commit
c02ffa180c
1 changed files with 14 additions and 15 deletions
|
|
@ -119,25 +119,24 @@
|
|||
(let ((s (make-string (1+ fdigits) :initial-element #\0)))
|
||||
(setf (schar s 0) #\.)
|
||||
(values s (length s) t nil 0))))
|
||||
(multiple-value-bind (e string)
|
||||
(multiple-value-bind (e string zero?)
|
||||
(cond (fdigits
|
||||
(float-to-digits nil x
|
||||
(min (- (+ fdigits scale))
|
||||
(- fmin))
|
||||
nil))
|
||||
(float-to-digits* nil x
|
||||
(min (- (+ fdigits scale))
|
||||
(- fmin))
|
||||
nil))
|
||||
((null width)
|
||||
(float-to-digits nil x nil nil))
|
||||
(float-to-digits* nil x nil nil))
|
||||
(T (let ((w (multiple-value-list
|
||||
(float-to-digits nil x
|
||||
(max 1
|
||||
(+ (1- width)
|
||||
(if (minusp scale)
|
||||
scale 0)))
|
||||
t)))
|
||||
(float-to-digits* nil x
|
||||
(+ (1- width)
|
||||
(if (minusp scale)
|
||||
scale 0))
|
||||
t)))
|
||||
(f (multiple-value-list
|
||||
(float-to-digits nil x
|
||||
(- (+ fmin scale))
|
||||
nil))))
|
||||
(float-to-digits* nil x
|
||||
(- (+ fmin scale))
|
||||
nil))))
|
||||
(if (>= (length (cadr w))
|
||||
(length (cadr f)))
|
||||
(values-list w)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue