Fixes Issue 1504, allowing feather beam line breaking.
[lilypond/patrick.git] / lily / template5.cc
blob2537ea2bbe281f45265079c196df47bdbddfffe0
1 /*
2 This file is part of LilyPond, the GNU music typesetter.
4 Copyright (C) 1997--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
6 LilyPond is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
11 LilyPond is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
20 #include "moment.hh"
21 #include "real.hh"
22 #include "interval.hh"
24 #include "interval.tcc"
26 template<>
27 Rational
28 Interval_t<Rational>::infinity ()
30 Rational infty;
31 infty.set_infinite (1);
32 return infty;
36 template<>
37 string
38 Interval_t<Rational>::T_to_string (Rational a)
40 return a.to_string ();
43 template INTERVAL__INSTANTIATE (Rational);
46 template<>
47 Moment
48 Interval_t<Moment>::infinity ()
50 Moment infty;
52 infty.main_part_.set_infinite (1);
53 return infty;
57 template<>
58 string
59 Interval_t<Moment>::T_to_string (Moment a)
61 return a.to_string ();
64 template INTERVAL__INSTANTIATE (Moment);
66 template<>
67 Real
68 Interval_t<Real>::linear_combination (Real x) const
70 Drul_array<Real> da (at (LEFT), at (RIGHT));
71 return ::linear_combination (da, x);