X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fmoment-scheme.cc;h=16839f81bb568449ed83b7247584a0e1596123c3;hb=c5a3f0c024f4cb629811cff9eb04abff36e94138;hp=bc8dfae78b9ccbc9b806a36932f2da122641e48a;hpb=75eebcb49e52d296b1da3e1074e0825d2c780db4;p=lilypond.git diff --git a/lily/moment-scheme.cc b/lily/moment-scheme.cc index bc8dfae78b..16839f81bb 100644 --- a/lily/moment-scheme.cc +++ b/lily/moment-scheme.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1999--2006 Han-Wen Nienhuys + (c) 1999--2007 Han-Wen Nienhuys */ #include "moment.hh" @@ -21,20 +21,20 @@ LY_DEFINE (ly_make_moment, "ly:make-moment", "notes, and @var{g} the timing for grace notes. " "In absence of grace notes, @var{g} is zero.\n") { - SCM_ASSERT_TYPE (scm_is_integer (n), n, SCM_ARG1, __FUNCTION__, "integer"); - SCM_ASSERT_TYPE (scm_is_integer (d), d, SCM_ARG2, __FUNCTION__, "integer"); + LY_ASSERT_TYPE (scm_is_integer, n, 1); + LY_ASSERT_TYPE(scm_is_integer,d, 2); int grace_num = 0; if (gn != SCM_UNDEFINED) { - SCM_ASSERT_TYPE (scm_is_integer (gn), gn, SCM_ARG3, __FUNCTION__, "integer"); + LY_ASSERT_TYPE(scm_is_integer,gn, 3); grace_num = scm_to_int (gn); } int grace_den = 1; if (gd != SCM_UNDEFINED) { - SCM_ASSERT_TYPE (scm_is_integer (gd), gd, SCM_ARG4, __FUNCTION__, "integer"); + LY_ASSERT_TYPE(scm_is_integer,gd, 4); grace_den = scm_to_int (gd); } @@ -42,14 +42,16 @@ LY_DEFINE (ly_make_moment, "ly:make-moment", Rational (grace_num, grace_den)).smobbed_copy (); } -LY_DEFINE (ly_sub_moment, "ly:moment-sub", +LY_DEFINE (ly_moment_sub, "ly:moment-sub", 2, 0, 0, (SCM a, SCM b), "Subtract two moments.") { + LY_ASSERT_SMOB (Moment, a, 1); + LY_ASSERT_SMOB (Moment,b, 2); + Moment *ma = unsmob_moment (a); Moment *mb = unsmob_moment (b); - SCM_ASSERT_TYPE (ma, a, SCM_ARG1, __FUNCTION__, "moment"); - SCM_ASSERT_TYPE (mb, b, SCM_ARG2, __FUNCTION__, "moment"); + return (*ma - *mb).smobbed_copy (); } @@ -57,10 +59,12 @@ LY_DEFINE (ly_moment_add, "ly:moment-add", 2, 0, 0, (SCM a, SCM b), "Add two moments.") { + LY_ASSERT_SMOB (Moment, a, 1); + LY_ASSERT_SMOB(Moment,b, 2); + Moment *ma = unsmob_moment (a); Moment *mb = unsmob_moment (b); - SCM_ASSERT_TYPE (ma, a, SCM_ARG1, __FUNCTION__, "moment"); - SCM_ASSERT_TYPE (mb, b, SCM_ARG2, __FUNCTION__, "moment"); + return (*ma + *mb).smobbed_copy (); } @@ -68,10 +72,11 @@ LY_DEFINE (ly_moment_mul, "ly:moment-mul", 2, 0, 0, (SCM a, SCM b), "Multiply two moments.") { + LY_ASSERT_SMOB (Moment, a, 1); + LY_ASSERT_SMOB(Moment, b, 2); + Moment *ma = unsmob_moment (a); Moment *mb = unsmob_moment (b); - SCM_ASSERT_TYPE (ma, a, SCM_ARG1, __FUNCTION__, "moment"); - SCM_ASSERT_TYPE (mb, b, SCM_ARG2, __FUNCTION__, "moment"); return (*ma * * mb).smobbed_copy (); } @@ -79,10 +84,12 @@ LY_DEFINE (ly_moment_div, "ly:moment-div", 2, 0, 0, (SCM a, SCM b), "Divide two moments.") { + LY_ASSERT_SMOB (Moment, a, 1); + LY_ASSERT_SMOB(Moment, b, 2); + Moment *ma = unsmob_moment (a); Moment *mb = unsmob_moment (b); - SCM_ASSERT_TYPE (ma, a, SCM_ARG1, __FUNCTION__, "moment"); - SCM_ASSERT_TYPE (mb, b, SCM_ARG2, __FUNCTION__, "moment"); + return (*ma / * mb).smobbed_copy (); } @@ -90,10 +97,11 @@ LY_DEFINE (ly_moment_mod, "ly:moment-mod", 2, 0, 0, (SCM a, SCM b), "Modulo of two moments.") { + LY_ASSERT_SMOB (Moment, a, 1); + LY_ASSERT_SMOB(Moment, b, 2); + Moment *ma = unsmob_moment (a); Moment *mb = unsmob_moment (b); - SCM_ASSERT_TYPE (ma, a, SCM_ARG1, __FUNCTION__, "moment"); - SCM_ASSERT_TYPE (mb, b, SCM_ARG2, __FUNCTION__, "moment"); return (*ma % * mb).smobbed_copy (); } @@ -101,8 +109,9 @@ LY_DEFINE (ly_moment_grace_numerator, "ly:moment-grace-numerator", 1, 0, 0, (SCM mom), "Extract numerator from grace timing.") { + LY_ASSERT_SMOB (Moment, mom, 1); + Moment *ma = unsmob_moment (mom); - SCM_ASSERT_TYPE (ma, mom, SCM_ARG1, __FUNCTION__, "moment"); return scm_from_int (ma->grace_part_.numerator ()); } @@ -111,8 +120,8 @@ LY_DEFINE (ly_moment_grace_denominator, "ly:moment-grace-denominator", 1, 0, 0, (SCM mom), "Extract denominator from grace timing.") { + LY_ASSERT_SMOB (Moment, mom, 1); Moment *ma = unsmob_moment (mom); - SCM_ASSERT_TYPE (ma, mom, SCM_ARG1, __FUNCTION__, "moment"); return scm_from_int (ma->grace_part_.denominator ()); } @@ -120,8 +129,8 @@ LY_DEFINE (ly_moment_main_numerator, "ly:moment-main-numerator", 1, 0, 0, (SCM mom), "Extract numerator from main timing.") { + LY_ASSERT_SMOB (Moment, mom, 1); Moment *ma = unsmob_moment (mom); - SCM_ASSERT_TYPE (ma, mom, SCM_ARG1, __FUNCTION__, "moment"); return scm_from_int (ma->main_part_.numerator ()); } @@ -130,8 +139,8 @@ LY_DEFINE (ly_moment_main_denominator, "ly:moment-main-denominator", 1, 0, 0, (SCM mom), "Extract denominator from main timing.") { + LY_ASSERT_SMOB (Moment, mom, 1); Moment *ma = unsmob_moment (mom); - SCM_ASSERT_TYPE (ma, mom, SCM_ARG1, __FUNCTION__, "moment"); return scm_from_int (ma->main_part_.denominator ()); } @@ -140,10 +149,12 @@ LY_DEFINE (ly_moment_less_p, "ly:moment