X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fmoment.hh;h=ed7c7b0741d34da984936e12f8c568708ce88ebf;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=30689a5d26bebff5f4e461a545ca34c7fe240557;hpb=aa384518d059d26ffd6c0da3068fbdc2a345ecc1;p=lilypond.git diff --git a/lily/include/moment.hh b/lily/include/moment.hh index 30689a5d26..ed7c7b0741 100644 --- a/lily/include/moment.hh +++ b/lily/include/moment.hh @@ -1,11 +1,10 @@ -/* +/* moment.hh -- declare Moment - + source file of the GNU LilyPond music typesetter - - (c) 1999--2002 Han-Wen Nienhuys - - */ + + (c) 1999--2008 Han-Wen Nienhuys +*/ #ifndef MOMENT_HH #define MOMENT_HH @@ -19,7 +18,7 @@ */ class Moment { - DECLARE_SIMPLE_SMOBS (Moment,); + DECLARE_SIMPLE_SMOBS (Moment); public: Moment (); Moment (int m); @@ -28,12 +27,13 @@ public: Moment (Rational m); Moment operator - () const; - + void operator += (Moment const &m); - void operator -= (Moment const &m); + void operator -= (Moment const &m); void operator *= (Moment const &m); - void operator /= (Moment const &m); + void operator /= (Moment const &m); + void operator %= (Moment const &m); Rational main_part_; Rational grace_part_; @@ -41,30 +41,33 @@ 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 - */ - SCM smobbed_copy () const; - String str () const; - static int compare (Moment const&, Moment const&); - + */ + string to_string () const; + static int compare (Moment const &, Moment const &); + SCM as_scheme () const; }; -IMPLEMENT_ARITHMETIC_OPERATOR (Moment, + ); -IMPLEMENT_ARITHMETIC_OPERATOR (Moment, - ); -IMPLEMENT_ARITHMETIC_OPERATOR (Moment, / ); -IMPLEMENT_ARITHMETIC_OPERATOR (Moment, * ); +IMPLEMENT_ARITHMETIC_OPERATOR (Moment, +); +IMPLEMENT_ARITHMETIC_OPERATOR (Moment, -); +IMPLEMENT_ARITHMETIC_OPERATOR (Moment, /); +IMPLEMENT_ARITHMETIC_OPERATOR (Moment, *); +IMPLEMENT_ARITHMETIC_OPERATOR (Moment, %); -DECLARE_UNSMOB(Moment,moment); -int compare (Moment const&,Moment const&); -INSTANTIATE_COMPARE (Moment const&, Moment::compare); +DECLARE_UNSMOB (Moment, moment); +int compare (Moment const &, Moment const &); +INSTANTIATE_COMPARE (Moment const &, Moment::compare); +Moment robust_scm2moment (SCM, Moment); #ifdef STREAM_SUPPORT -ostream & operator << ( ostream &,Moment const &); +ostream &operator << (ostream &, Moment const &); #endif +bool moment_less (SCM a, SCM b); + #endif /* MOMENT_HH */