Also use I64 in moment.cc, moment-scheme.cc and duration-scheme.cc.
{
LY_ASSERT_SMOB (Duration, dur, 1);
Rational r = unsmob_duration (dur)->factor ();
- return scm_cons (scm_from_int (r.num ()), scm_from_int (r.den ()));
+ return scm_cons (scm_from_int64 (r.num ()), scm_from_int64 (r.den ()));
}
void set_infinite (int k);
bool to_bool () const;
- int den () const;
- int num () const;
+ I64 den () const;
+ I64 num () const;
/*
Deliver a copy of THIS as a smobified SCM
*/
SCM
ly_rational2scm (Rational r)
{
- return scm_divide (scm_from_long_long (r.numerator ()),
- scm_from_long_long (r.denominator ()));
+ return scm_divide (scm_from_int64 (r.numerator ()),
+ scm_from_int64 (r.denominator ()));
}
Rational
ly_scm2rational (SCM r)
{
- return Rational (scm_to_long_long (scm_numerator (r)),
- scm_to_long_long (scm_denominator (r)));
+ return Rational (scm_to_int64 (scm_numerator (r)),
+ scm_to_int64 (scm_denominator (r)));
}
Rational
Moment *ma = unsmob_moment (mom);
- return scm_from_int (ma->grace_part_.numerator ());
+ return scm_from_int64 (ma->grace_part_.numerator ());
}
LY_DEFINE (ly_moment_grace_denominator, "ly:moment-grace-denominator",
LY_ASSERT_SMOB (Moment, mom, 1);
Moment *ma = unsmob_moment (mom);
- return scm_from_int (ma->grace_part_.denominator ());
+ return scm_from_int64 (ma->grace_part_.denominator ());
}
LY_DEFINE (ly_moment_main_numerator, "ly:moment-main-numerator",
1, 0, 0, (SCM mom),
LY_ASSERT_SMOB (Moment, mom, 1);
Moment *ma = unsmob_moment (mom);
- return scm_from_int (ma->main_part_.numerator ());
+ return scm_from_int64 (ma->main_part_.numerator ());
}
LY_DEFINE (ly_moment_main_denominator, "ly:moment-main-denominator",
LY_ASSERT_SMOB (Moment, mom, 1);
Moment *ma = unsmob_moment (mom);
- return scm_from_int (ma->main_part_.denominator ());
+ return scm_from_int64 (ma->main_part_.denominator ());
}
LY_DEFINE (ly_moment_less_p, "ly:moment<?",
Moment::as_scheme () const
{
return scm_list_5 (ly_symbol2scm ("ly:make-moment"),
- scm_from_int (main_part_.num ()),
- scm_from_int (main_part_.den ()),
- scm_from_int (grace_part_.num ()),
- scm_from_int (grace_part_.den ()));
+ scm_from_int64 (main_part_.num ()),
+ scm_from_int64 (main_part_.den ()),
+ scm_from_int64 (grace_part_.num ()),
+ scm_from_int64 (grace_part_.den ()));
}
SCM
grace_part_ %= src.main_part_;
}
-int
+I64
Moment::den () const
{
+ /* TODO: ensure MSB == 0 here */
return main_part_.den ();
}
-int
+I64
Moment::num () const
{
return main_part_.num ();