Object

com.twitter.algebird

MomentsGroup

Related Doc: package algebird

Permalink

object MomentsGroup extends MomentsMonoid with Group[Moments] with CommutativeGroup[Moments]

This should not be used as a group (avoid negate and minus). It was wrongly believed that this was a group for several years in this code, however it was only being tested with positive counts (which is to say the generators were too weak). It isn't the case that minus and negate are totally wrong but (a - a) + b in general isn't associative: it won't equal a - (a - b) which it should.

Annotations
@deprecated
Deprecated

(Since version 0.13.8) use Moments.momentsMonoid, this isn't lawful for negative counts

Linear Supertypes
CommutativeGroup[Moments], Group[Moments], AdditiveGroup[Moments], cats.kernel.Group[Moments], MomentsMonoid, CommutativeMonoid[Moments], CommutativeSemigroup[Moments], Monoid[Moments], AdditiveMonoid[Moments], cats.kernel.Monoid[Moments], Semigroup[Moments], AdditiveSemigroup[Moments], cats.kernel.Semigroup[Moments], Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MomentsGroup
  2. CommutativeGroup
  3. Group
  4. AdditiveGroup
  5. Group
  6. MomentsMonoid
  7. CommutativeMonoid
  8. CommutativeSemigroup
  9. Monoid
  10. AdditiveMonoid
  11. Monoid
  12. Semigroup
  13. AdditiveSemigroup
  14. Semigroup
  15. Serializable
  16. Serializable
  17. AnyRef
  18. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def additive: algebra.Group[Moments]

    Permalink

    These are from algebra.Monoid

    These are from algebra.Monoid

    Definition Classes
    Group → AdditiveGroup → Monoid → AdditiveMonoid → Semigroup → AdditiveSemigroup
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def assertNotZero(v: Moments): Unit

    Permalink
    Definition Classes
    Monoid
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def combine(l: Moments, r: Moments): Moments

    Permalink
    Definition Classes
    Semigroup → Semigroup
  9. def combineAll(t: TraversableOnce[Moments]): Moments

    Permalink
    Definition Classes
    Monoid → Monoid
  10. def combineAllOption(as: IterableOnce[Moments]): Option[Moments]

    Permalink
    Definition Classes
    Monoid → Semigroup
  11. def combineN(a: Moments, n: Int): Moments

    Permalink
    Definition Classes
    Group → Monoid → Semigroup
  12. def empty: Moments

    Permalink
    Definition Classes
    Monoid → Monoid
  13. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  17. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  18. def inverse(v: Moments): Moments

    Permalink
    Definition Classes
    Group → Group
  19. def isEmpty(a: Moments)(implicit ev: Eq[Moments]): Boolean

    Permalink
    Definition Classes
    Monoid
  20. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  21. def isNonZero(v: Moments): Boolean

    Permalink
    Definition Classes
    Monoid
  22. def isZero(a: Moments)(implicit ev: Eq[Moments]): Boolean

    Permalink
    Definition Classes
    AdditiveMonoid
  23. def minus(x: Moments, y: Moments): Moments

    Permalink
    Definition Classes
    AdditiveGroup
  24. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  25. def negate(a: Moments): Moments

    Permalink
    Definition Classes
    MomentsGroup → AdditiveGroup
  26. def nonZeroOption(v: Moments): Option[Moments]

    Permalink
    Definition Classes
    Monoid
  27. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  28. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  29. def plus(a: Moments, b: Moments): Moments

    Permalink
    Definition Classes
    MomentsMonoid → AdditiveSemigroup
  30. def positiveSumN(a: Moments, n: Int): Moments

    Permalink
    Attributes
    protected[this]
    Definition Classes
    AdditiveSemigroup
  31. def remove(l: Moments, r: Moments): Moments

    Permalink
    Definition Classes
    Group → Group
  32. def repeatedCombineN(a: Moments, n: Int): Moments

    Permalink
    Attributes
    protected[this]
    Definition Classes
    Semigroup
  33. def sum(vs: TraversableOnce[Moments]): Moments

    Permalink
    Definition Classes
    Monoid → AdditiveMonoid
  34. def sumN(a: Moments, n: Int): Moments

    Permalink
    Definition Classes
    AdditiveGroup → AdditiveMonoid → AdditiveSemigroup
  35. def sumOption(items: TraversableOnce[Moments]): Option[Moments]

    Permalink

    Returns an instance of T calculated by summing all instances in iter in one pass.

    Returns an instance of T calculated by summing all instances in iter in one pass. Returns None if iter is empty, else Some[ T].

    returns

    None if iter is empty, else an option value containing the summed T

    Definition Classes
    MomentsMonoidSemigroup
    Note

    Override if there is a faster way to compute this sum than iter.reduceLeftOption using plus.

  36. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  37. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  38. def trySum(as: TraversableOnce[Moments]): Option[Moments]

    Permalink
    Definition Classes
    AdditiveMonoid → AdditiveSemigroup
  39. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  41. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  42. val zero: Moments

    Permalink
    Definition Classes
    MomentsMonoid → AdditiveMonoid

Deprecated Value Members

  1. def getCombinedMean(n: Long, an: Double, k: Long, ak: Double): Double

    Permalink

    Given two streams of doubles (n, an) and (k, ak) of form (count, mean), calculates the mean of the combined stream.

    Given two streams of doubles (n, an) and (k, ak) of form (count, mean), calculates the mean of the combined stream.

    Uses a more stable online algorithm which should be suitable for large numbers of records similar to: http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Parallel_algorithm

    we no longer use this, but we can't remove it due to binary compatibility

    Definition Classes
    MomentsMonoid
    Annotations
    @deprecated
    Deprecated

    (Since version 0.13.8) Use Moments.getCombinedMeanDouble instead

Inherited from CommutativeGroup[Moments]

Inherited from Group[Moments]

Inherited from AdditiveGroup[Moments]

Inherited from cats.kernel.Group[Moments]

Inherited from MomentsMonoid

Inherited from CommutativeMonoid[Moments]

Inherited from CommutativeSemigroup[Moments]

Inherited from Monoid[Moments]

Inherited from AdditiveMonoid[Moments]

Inherited from cats.kernel.Monoid[Moments]

Inherited from Semigroup[Moments]

Inherited from AdditiveSemigroup[Moments]

Inherited from cats.kernel.Semigroup[Moments]

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped