]> git.donarmstrong.com Git - lilypond.git/blobdiff - flower/interval.cc
release: 0.0.15
[lilypond.git] / flower / interval.cc
index 6cc2a7916e9d51e1e4e0758730de40c52ac87a1f..6fac1f55dca0d754382282d600e35d25aab5309a 100644 (file)
@@ -31,6 +31,29 @@ Interval::intersect(Interval h)
     min = MAX(h.min, min);
     max = MIN(h.max, max);
 }
+Interval
+intersection(Interval a, Interval const&b)
+{
+    a.intersect(b);
+    return a;
+    
+}
+int
+Interval::compare(const Interval&a,Interval const&b)
+{
+    if (a.min == b.min && a.max == b.max)
+       return 0;
+    
+    if (a.min <= b.min && a.max >= b.max)
+       return 1;
+
+    if (a.min >= b.min && a.max <= b.max)
+       return -1;
+
+    assert(false);             // not comparable
+
+    return 0;
+}
 
 Interval
 intersect(Interval x, Interval const &y)
@@ -48,3 +71,8 @@ Interval::operator String() const
  
     return s + min + "," + max +"]";
 }
+bool
+Interval::elt_q(Real r)
+{
+    return r >= min && r <= max;
+}