From: Neil Puttock <n.puttock@gmail.com>
Date: Sat, 22 Nov 2008 16:42:29 +0000 (+0000)
Subject: Use scm_to_int64/from_int64 for Rational/SCM conversions.
X-Git-Tag: release/2.11.65-1~19
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=be65b81068e99ed855334f332c3176d8b4942a11;p=lilypond.git

Use scm_to_int64/from_int64 for Rational/SCM conversions.

Also use I64 in moment.cc, moment-scheme.cc and duration-scheme.cc.
---

diff --git a/lily/duration-scheme.cc b/lily/duration-scheme.cc
index d371475581..5bc12ea073 100644
--- a/lily/duration-scheme.cc
+++ b/lily/duration-scheme.cc
@@ -134,5 +134,5 @@ LY_DEFINE (ly_duration_factor, "ly:duration-factor",
 {
   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 ()));
 }
diff --git a/lily/include/moment.hh b/lily/include/moment.hh
index a3b7544762..a73b9961d1 100644
--- a/lily/include/moment.hh
+++ b/lily/include/moment.hh
@@ -41,8 +41,8 @@ public:
   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
   */
diff --git a/lily/lily-guile.cc b/lily/lily-guile.cc
index 9c88983e4c..7c05287638 100644
--- a/lily/lily-guile.cc
+++ b/lily/lily-guile.cc
@@ -561,16 +561,16 @@ robust_scm2int (SCM k, int o)
 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
diff --git a/lily/moment-scheme.cc b/lily/moment-scheme.cc
index 85155034c5..89c69fa76d 100644
--- a/lily/moment-scheme.cc
+++ b/lily/moment-scheme.cc
@@ -111,7 +111,7 @@ LY_DEFINE (ly_moment_grace_numerator, "ly:moment-grace-numerator",
 
   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",
@@ -121,7 +121,7 @@ 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),
@@ -130,7 +130,7 @@ LY_DEFINE (ly_moment_main_numerator, "ly:moment-main-numerator",
   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",
@@ -140,7 +140,7 @@ 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<?",
diff --git a/lily/moment.cc b/lily/moment.cc
index 7516bf20e1..c9b3bd4250 100644
--- a/lily/moment.cc
+++ b/lily/moment.cc
@@ -60,10 +60,10 @@ SCM
 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
@@ -129,13 +129,14 @@ Moment::operator %= (Moment const &src)
   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 ();