diff --git a/libguile/numbers.c b/libguile/numbers.c index dde66457f..6e3d6ac02 100644 --- a/libguile/numbers.c +++ b/libguile/numbers.c @@ -2315,6 +2315,13 @@ scm_print_real (SCM sexp, SCM port, scm_print_state *pstate SCM_UNUSED) return !0; } +void +scm_i_print_double (double val, SCM port) +{ + char num_buf[FLOBUFLEN]; + scm_lfwrite (num_buf, idbl2str (val, num_buf, 10), port); +} + int scm_print_complex (SCM sexp, SCM port, scm_print_state *pstate SCM_UNUSED) diff --git a/libguile/numbers.h b/libguile/numbers.h index 87bac7a4a..b4352c4e3 100644 --- a/libguile/numbers.h +++ b/libguile/numbers.h @@ -282,6 +282,9 @@ SCM_API double scm_i_fraction2double (SCM z); SCM_API SCM scm_i_fraction_equalp (SCM x, SCM y); SCM_API int scm_i_print_fraction (SCM sexp, SCM port, scm_print_state *pstate); +/* general internal functions */ +SCM_API void scm_i_print_double (double val, SCM port); + /* conversion functions for integers */ SCM_API int scm_is_integer (SCM val);