-
-LY_DEFINE (ly_number2string, "ly:number->string", 1, 0,0,
- (SCM s),
- " converts @var{num} to a string without generating many decimals. It "
-"leaves a space at the end.")
-{
- SCM_ASSERT_TYPE (gh_number_p (s), s, SCM_ARG1, __FUNCTION__, "number");
-
- char str[400]; // ugh.
-
- if (scm_exact_p (s) == SCM_BOOL_F)
- {
- Real r (gh_scm2double (s));
-
- if (my_isinf (r) || my_isnan (r))
- {
- programming_error ("Infinity or NaN encountered while converting Real number; setting to zero.");
- r = 0.0;
- }
-
- sprintf (str, "%8.4f ", r);
- }
- else
- {
- sprintf (str, "%d ", gh_scm2int (s));
- }
-
- return scm_makfrom0str (str);
-}
-
-/*
- Undef this to see if GUILE GC is causing too many swaps.
- */
-
-//#define TEST_GC
-
-#ifdef TEST_GC
-#include <libguile/gc.h>
-
-static void *
-greet_sweep (void *dummy1, void *dummy2, void *dummy3)
-{
- fprintf (stderr, "entering sweep\n");
-}
-
-static void *
-wave_sweep_goodbye (void *dummy1, void *dummy2, void *dummy3)