if (ecl_float_nan_p(number)) {
cl_object s = funcall(2, @'ext::float-nan-string', number);
- @(return push_base_string(buffer_or_nil, s));
+ @(return push_base_string(buffer_or_nil, si_coerce_to_base_string(s)));
} else if (ecl_float_infinity_p(number)) {
cl_object s = funcall(2, @'ext::float-infinity-string', number);
- @(return push_base_string(buffer_or_nil, s));
+ @(return push_base_string(buffer_or_nil, si_coerce_to_base_string(s)));
}
base = ecl_length(buffer_or_nil);
exp = si_float_to_digits(buffer_or_nil, number, ECL_NIL, ECL_NIL);
(defun ext::float-nan-string (x)
(when *print-readably*
(error 'print-not-readable :object x))
- (coerce
(cdr (assoc (type-of x)
'((single-float . "#<single-float quiet NaN>")
(double-float . "#<double-float quiet NaN>")
(long-float . "#<long-float quiet NaN>")
- (short-float . "#<short-float quiet NaN>"))))
- 'base-string))
+ (short-float . "#<short-float quiet NaN>")))))
(defun ext::float-infinity-string (x)
(when (and *print-readably* (null *read-eval*))
(if (plusp x) positive-infinities negative-infinities))))
(unless record
(error "Not an infinity"))
- (coerce (cdr record) 'base-string)))
+ (cdr record)))
;;; ----------------------------------------------------------------------
;;; Describe