func coalesceBuckets(buckets buckets) buckets {
	last := buckets[0]
	i := 0
	for _, b := range buckets[1:] {
		if b.upperBound == last.upperBound {
			last.count += b.count
		} else {
			buckets[i] = last
			last = b
			i++
		}
	}
	buckets[i] = last
	return buckets[:i+1]
}
func coalesceBuckets(buckets buckets) buckets {
	last := buckets[0]
	i := 0
	for _, b := range buckets[1:] {
		if b.upperBound == last.upperBound {
			last.count += b.count
		} else {
			buckets[i] = last
			last = b
			i++
		}
	}
	buckets[i] = last
	return buckets[:i+1]
}
func coalesceBuckets ( buckets buckets ) buckets { last := buckets [ 0 ] i := 0 for _ , b := range buckets [ 1 : ] { if b . upperBound == last . upperBound { last . count += b . count } else { buckets [ i ] = last last = b i ++ } } buckets [ i ] = last return buckets [ : i + 1 ] }
// coalesceBuckets merges buckets with the same upper bound.
//
// The input buckets must be sorted.
coalesceBuckets merges buckets with the same upper bound . The input buckets must be sorted .