X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=flower%2Finterval.cc;h=ed45c665620eb42349595f90e5d2aab081cb816b;hb=938f0af4529c1d223c7bb8f0488fbc2cfa5b990a;hp=6cc2a7916e9d51e1e4e0758730de40c52ac87a1f;hpb=b669f94707fdf46934e3d1df471158f2e650d0e3;p=lilypond.git diff --git a/flower/interval.cc b/flower/interval.cc index 6cc2a7916e..ed45c66562 100644 --- a/flower/interval.cc +++ b/flower/interval.cc @@ -1,50 +1,42 @@ -#include -#include -#include "interval.hh" -#include "string.hh" +/* + interval.cc -- instantiate Interval_t + source file of the Flower Library -const Real INFTY = HUGE; + (c) 1997--2007 Han-Wen Nienhuys +*/ -void -Interval::set_empty() { - min = INFTY; - max = -INFTY; -} +#include "interval.hh" + +#include "interval.tcc" +template<> Real -Interval::length() const { - assert(max >= min); - return max-min; -} -void -Interval::unite(Interval h) +Interval_t::infinity () { - if (h.minmax) - max = h.max; + return HUGE_VAL; } -void -Interval::intersect(Interval h) + +template<> +string +Interval_t::T_to_string (Real r) { - min = MAX(h.min, min); - max = MIN(h.max, max); + return ::to_string (r); } -Interval -intersect(Interval x, Interval const &y) +template<> +int +Interval_t::infinity () { - x.intersect(y); - return x; + return INT_MAX; } - -Interval::operator String() const +template<> +string +Interval_t::T_to_string (int i) { - if (empty()) - return "[empty]"; - String s("["); - - return s + min + "," + max +"]"; + return ::to_string (i); } + +template INTERVAL__INSTANTIATE (int); +template INTERVAL__INSTANTIATE (Real);