Browse Source

adt: fast path Stab in empty interval tree

Nikita Vetoshkin 9 years ago
parent
commit
eae70c9379
1 changed files with 3 additions and 0 deletions
  1. 3 0
      pkg/adt/interval_tree.go

+ 3 - 0
pkg/adt/interval_tree.go

@@ -447,6 +447,9 @@ func (ivt *IntervalTree) Contains(iv Interval) bool {
 
 // Stab returns a slice with all elements in the tree intersecting the interval.
 func (ivt *IntervalTree) Stab(iv Interval) (ivs []*IntervalValue) {
+	if ivt.count == 0 {
+		return nil
+	}
 	f := func(n *IntervalValue) bool { ivs = append(ivs, n); return true }
 	ivt.Visit(iv, f)
 	return ivs