class QTree[A] extends Product6[Long, Int, Long, A, Option[QTree[A]], Option[QTree[A]]] with Serializable
- Alphabetic
- By Inheritance
- QTree
- Serializable
- Product6
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def _1: Long
- Definition Classes
- QTree → Product6
- Annotations
- @inline()
- def _2: Int
- Definition Classes
- QTree → Product6
- Annotations
- @inline()
- def _3: Long
- Definition Classes
- QTree → Product6
- Annotations
- @inline()
- def _4: A
- Definition Classes
- QTree → Product6
- Annotations
- @inline()
- def _5: Option[QTree[A]]
- Definition Classes
- QTree → Product6
- Annotations
- @inline()
- def _6: Option[QTree[A]]
- Definition Classes
- QTree → Product6
- Annotations
- @inline()
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def canEqual(other: Any): Boolean
- Definition Classes
- QTree → Equals
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def compress(k: Int)(implicit m: Monoid[A]): QTree[A]
Users should never need to call this if they are adding QTrees using the Semigroup This makes sure no element in the tree has count less than the total count / 2k. That means after this call there are at most 2k nodes, but usually fewer.
- def count: Long
- Annotations
- @inline()
- def dump(): Unit
A debug method that prints the QTree to standard out using print/println
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(other: Any): Boolean
- Definition Classes
- QTree → Equals → AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- lazy val hashCode: Int
- Definition Classes
- QTree → AnyRef → Any
- def interQuartileMean(implicit n: Numeric[A], m: Monoid[A]): (Double, Double)
This gives you the mean for the middle 50%-ile.
This gives you the mean for the middle 50%-ile. This probably only makes sense if the Monoid[A] is equivalent to addition in Numeric[A], which is only used to convert to Double at the end
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def level: Int
- Annotations
- @inline()
- def lowerBound: Double
- def lowerChild: Option[QTree[A]]
- def merge(other: QTree[A])(implicit monoid: Monoid[A]): QTree[A]
This merges with another QTree but DOES NOT compress.
This merges with another QTree but DOES NOT compress. You should probably never use this and instead use QTreeSemigroup.plus(a, b) or .sumOption. Strongly prefer sumOption if you can, as it is much more efficient due to compressing less frequently.
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def offset: Long
- Annotations
- @inline()
- def productArity: Int
- Definition Classes
- QTree → Product6 → Product
- def productElement(n: Int): Any
- Definition Classes
- Product6 → Product
- Annotations
- @throws(classOf[java.lang.IndexOutOfBoundsException])
- def productElementName(n: Int): String
- Definition Classes
- Product
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def productIterator: Iterator[Any]
- Definition Classes
- Product
- def productPrefix: String
- Definition Classes
- Product
- def quantileBounds(p: Double): (Double, Double)
give lower and upper bounds respectively of the percentile value given.
give lower and upper bounds respectively of the percentile value given. For instance, quantileBounds(0.5) would give an estimate of the median.
- val range: Double
- def rangeCountBounds(from: Double, to: Double): (Long, Long)
Return upper and lower bounds on the counts that appear in a given range
- def rangeSumBounds(from: Double, to: Double)(implicit monoid: Monoid[A]): (A, A)
Get the bounds on the sums within a range (not percentile) This along with the rangeCountBounds can tell you the mean over a range
- def size: Int
How many total nodes are there in the QTree.
How many total nodes are there in the QTree. Not meaningful for learning statistics, but interesting to estimate serialization size.
- def sum: A
- Annotations
- @inline()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- QTree → AnyRef → Any
- def totalSum(implicit monoid: Monoid[A]): A
Total sum over the entire tree.
- def upperBound: Double
- def upperChild: Option[QTree[A]]
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()