-/*
+/*
moment.cc -- implement Moment
source file of the GNU LilyPond music typesetter
Moment::Moment (int m)
{
main_part_ = Rational (m);
- grace_part_ = Rational ( 0);
+ grace_part_ = Rational (0);
}
Moment::Moment (Rational m, Rational g)
int
Moment::print_smob (SCM s, SCM port, scm_print_state *)
{
- Moment *r = (Moment *) SCM_CELL_WORD_1 (s);
-
+ Moment *r = (Moment *) SCM_CELL_WORD_1 (s);
+
scm_puts ("#<Mom ", port);
String str = r->to_string ();
scm_puts ((char *)str.to_str0 (), port);
scm_puts (">", port);
-
+
return 1;
}
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_int (main_part_.num ()),
+ scm_from_int (main_part_.den ()),
+ scm_from_int (grace_part_.num ()),
+ scm_from_int (grace_part_.den ()));
}
-
SCM
Moment::equal_p (SCM a, SCM b)
{
Moment *m1 = unsmob_moment (a);
Moment *m2 = unsmob_moment (b);
-
+
return (*m1 == *m2) ? SCM_BOOL_T : SCM_BOOL_F;
}
void
Moment::operator += (Moment const &src)
{
- main_part_ += src.main_part_ ;
+ main_part_ += src.main_part_;
grace_part_ += src.grace_part_;
}
+
void
Moment::operator -= (Moment const &src)
{
- main_part_ -= src.main_part_ ;
+ main_part_ -= src.main_part_;
grace_part_ -= src.grace_part_;
}
-/*
- only take the main part of SRC for multiplication.
-*/
+/* Only take the main part of SRC for multiplication. */
void
Moment::operator *= (Moment const &src)
{
- main_part_ *= src.main_part_ ;
+ main_part_ *= src.main_part_;
grace_part_ *= src.main_part_;
}
-/*
- only take the main part of SRC for multiplication.
-*/
+/* Only take the main part of SRC for division. */
void
Moment::operator /= (Moment const &src)
{
- main_part_ /= src.main_part_ ;
+ main_part_ /= src.main_part_;
grace_part_ /= src.main_part_;
}
+/* Only take the main part of SRC for division. */
+void
+Moment::operator %= (Moment const &src)
+{
+ main_part_ %= src.main_part_;
+ grace_part_ %= src.main_part_;
+}
+
int
Moment::den () const
{
String
Moment::to_string () const
{
- String s = main_part_.to_string ();
+ String s = main_part_.to_string ();
if (grace_part_)
{
s += "G" + grace_part_.to_string ();
Moment::operator - () const
{
Moment m;
- m.grace_part_ = - grace_part_;
- m. main_part_ = - main_part_ ;
+ m.grace_part_ = -grace_part_;
+ m.main_part_ = -main_part_;
return m;
}
-
#ifdef STREAM_SUPPORT
std::ostream &
operator << (std::ostream &os, Moment const &m)
return *p;
}
-
bool
moment_less (SCM a, SCM b)
{