override def sumOption()

in algebird-core/src/main/scala/com/twitter/algebird/HyperLogLog.scala [573:587]


  override def sumOption(items: TraversableOnce[HLL]): Option[HLL] =
    if (items.iterator.isEmpty) {
      None
    } else {
      val iter = items.iterator.buffered
      var curValue = iter.next()
      while (iter.hasNext) {
        curValue = (curValue, iter.head) match {
          case (DenseHLL(_, _), _) => denseUpdate(curValue, iter)
          case (_, DenseHLL(_, _)) => denseUpdate(curValue, iter)
          case _                   => curValue + iter.next()
        }
      }
      Some(curValue)
    }