]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/duration.cc
Make lilypond-book call pdflatex by default if --pdf is given
[lilypond.git] / lily / duration.cc
index 755679fd71cf2d84469e69062efd4b7dabd71be9..2b5baab48de94e3ed98a8898b22484c916200a1f 100644 (file)
@@ -1,10 +1,21 @@
 /*
-  duration.cc -- implement Duration
+  This file is part of LilyPond, the GNU music typesetter.
 
-  source file of the LilyPond music typesetter
-
-  (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
+  Copyright (C) 1997--2009 Jan Nieuwenhuizen <janneke@gnu.org>
   Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+  LilyPond is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  LilyPond is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #include "duration.hh"
@@ -53,16 +64,16 @@ Duration::Duration (Rational r, bool scale)
       int p = r.num ();
       int q = r.den ();
       int k = intlog2 (q) - intlog2 (p);
-      if ((p << k) < q)
+      if (shift_left(p, k) < q)
        k++;
 
-      assert ((p << k) >= q && (p << (k-1)) < q);
+      assert (shift_left(p, k) >= q && shift_left(p, (k-1)) < q);
 
       /* If we were to write out log (p/q) in base 2, then the position of the
         first non-zero bit (ie. k in our notation) would be the durlog
         and the number of consecutive 1s after that bit would be the number of
         dots */
-      p = (p << k) - q;
+      p = shift_left(p, k) - q;
       dots_ = 0;
       while ((p *= 2) >= q)
        {