- return Offset (ly_scm2double (ly_car (s)),
- ly_scm2double (ly_cdr (s)));
-}
-
-LY_DEFINE (ly_number2string, "ly:number->string",
- 1, 0, 0, (SCM s),
- "Convert @var{num} to a string without generating many decimals.")
-{
- SCM_ASSERT_TYPE (ly_c_number_p (s), s, SCM_ARG1, __FUNCTION__, "number");
-
- char str[400]; // ugh.
-
- if (scm_exact_p (s) == SCM_BOOL_F)
- {
- Real r (ly_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, "%08.4f", r);
- }
- else
- sprintf (str, "%d", ly_scm2int (s));
-
- return scm_makfrom0str (str);
-}
-
-
-
-LY_DEFINE (ly_version, "ly:version", 0, 0, 0, (),
- "Return the current lilypond version as a list, e.g. @code{(1 3 127 uu1)}. ")
-{
- char const* vs = "\'(" MAJOR_VERSION " " MINOR_VERSION " " PATCH_LEVEL " " MY_PATCH_LEVEL ")" ;
-
- return scm_c_eval_string ((char*)vs);
-}
-
-LY_DEFINE (ly_unit, "ly:unit", 0, 0, 0, (),
- "Return the unit used for lengths as a string.")
-{
- return scm_makfrom0str (INTERNAL_UNIT);
-}
-
-
-
-LY_DEFINE (ly_dimension_p, "ly:dimension?", 1, 0, 0, (SCM d),
- "Return @var{d} is a number. Used to distinguish length "
- "variables from normal numbers.")
-{
- return scm_number_p (d);