in algebird-core/src/main/scala/com/twitter/algebird/CountMinSketch.scala [170:196]
def updateAll(sketches: TraversableOnce[CMS[K]]): Unit =
sketches.iterator.foreach(updateInto)
def updateInto(cms: CMS[K]): Unit =
cms match {
case CMSZero(_) =>
()
case CMSItem(item, count, _) =>
insert(item, count)
case SparseCMS(table, _, _) =>
table.foreach { case (item, c) =>
insert(item, c)
}
case CMSInstance(CMSInstance.CountsTable(matrix), count, _) =>
var offset = 0
val rit = matrix.iterator
while (rit.hasNext) {
var col = 0
val cit = rit.next().iterator
while (cit.hasNext) {
cells(offset + col) += cit.next()
col += 1
}
offset += width
}
totalCount += count
}