Просмотр исходного кода

adt: fast path Stab in empty interval tree

Nikita Vetoshkin 9 лет назад
Родитель
Сommit
eae70c9379
1 измененных файлов с 3 добавлено и 0 удалено
  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