X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=flower%2Finterval.cc;h=04b141159d6c6c14d2a9245e0d73c0c40c38e458;hb=3f0f59297670174562e7d66ae7dd8d73a04be6f8;hp=b307f4c634f5974ecf0fa12eddce38817f314218;hpb=fc22f69328fd2d5030bb1feff8d0f6da37e8217d;p=lilypond.git diff --git a/flower/interval.cc b/flower/interval.cc index b307f4c634..04b141159d 100644 --- a/flower/interval.cc +++ b/flower/interval.cc @@ -1,18 +1,53 @@ -#include +/* + This file is part of LilyPond, the GNU music typesetter. + + Copyright (C) 1997--2012 Han-Wen Nienhuys + + 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 . +*/ + #include "interval.hh" -#include -const Real INFTY = HUGE; +#include "interval.tcc" -void -Interval::set_empty() { - min = INFTY; - max = -INFTY; +template<> +Real +Interval_t::infinity () +{ + return HUGE_VAL; } -Real -Interval::length() const { - assert(max >= min); - return max-min; +template<> +string +Interval_t::T_to_string (Real r) +{ + return ::to_string (r); +} + +template<> +int +Interval_t::infinity () +{ + return INT_MAX; +} + +template<> +string +Interval_t::T_to_string (int i) +{ + return ::to_string (i); } +template INTERVAL__INSTANTIATE (int); +template INTERVAL__INSTANTIATE (Real);