2 dimensions.cc -- implement Dimension handling
4 source file of the GNU LilyPond music typesetter
6 (c) 1997--2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
10 #include "lily-guile.hh"
11 #include "dimensions.hh"
14 LY_DEFINE (ly_pt, "ly:pt",
16 "@var{num} printer points")
18 SCM_ASSERT_TYPE(scm_is_number (num), num, SCM_ARG1, __FUNCTION__,
20 return scm_from_double (point_constant
21 * scm_to_double (num));
24 LY_DEFINE (ly_cm, "ly:cm",
28 SCM_ASSERT_TYPE(scm_is_number (num), num, SCM_ARG1, __FUNCTION__,
30 return scm_from_double (cm_constant
31 * scm_to_double (num));
34 LY_DEFINE (ly_inch, "ly:inch",
38 SCM_ASSERT_TYPE(scm_is_number (num), num, SCM_ARG1, __FUNCTION__,
40 return scm_from_double (inch_constant
41 * scm_to_double (num));
44 LY_DEFINE (ly_mm, "ly:mm",
48 SCM_ASSERT_TYPE(scm_is_number (num), num, SCM_ARG1, __FUNCTION__,
50 return scm_from_double (mm_constant
51 * scm_to_double (num));
54 LY_DEFINE (ly_bp, "ly:bp",
56 "@var{num} bigpoints (1/72th inch)")
58 SCM_ASSERT_TYPE(scm_is_number (num), num, SCM_ARG1, __FUNCTION__,
60 return scm_from_double (bigpoint_constant
61 * scm_to_double (num));