Trait/Object

com.twitter.algebird

Ring

Related Docs: object Ring | package algebird

Permalink

trait Ring[T] extends Group[T] with CommutativeGroup[T] with algebra.ring.Ring[T]

Ring: Group + multiplication (see: http://en.wikipedia.org/wiki/Ring_%28mathematics%29) and the three elements it defines:

Note, if you have distributive property, additive inverses, and multiplicative identity you can prove you have a commutative group under the ring:

  1. (a + 1)*(b + 1) = a(b + 1) + (b + 1) 2. = ab + a + b + 1 3. or: 4. 5. = (a + 1)b + (a + 1) 6. = ab + b + a + 1 7. 8. So: ab + a + b + 1 == ab + b + a + 1 9. using the fact that -(ab) and -1 exist, we get: 10. a + b == b + a
Annotations
@implicitNotFound( ... )
Linear Supertypes
algebra.ring.Ring[T], Rng[T], AdditiveCommutativeGroup[T], Rig[T], MultiplicativeMonoid[T], Semiring[T], MultiplicativeSemigroup[T], AdditiveCommutativeMonoid[T], AdditiveCommutativeSemigroup[T], CommutativeGroup[T], CommutativeMonoid[T], CommutativeSemigroup[T], Group[T], AdditiveGroup[T], Monoid[T], AdditiveMonoid[T], Semigroup[T], AdditiveSemigroup[T], cats.kernel.Group[T], cats.kernel.Monoid[T], cats.kernel.Semigroup[T], Serializable, Serializable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Ring
  2. Ring
  3. Rng
  4. AdditiveCommutativeGroup
  5. Rig
  6. MultiplicativeMonoid
  7. Semiring
  8. MultiplicativeSemigroup
  9. AdditiveCommutativeMonoid
  10. AdditiveCommutativeSemigroup
  11. CommutativeGroup
  12. CommutativeMonoid
  13. CommutativeSemigroup
  14. Group
  15. AdditiveGroup
  16. Monoid
  17. AdditiveMonoid
  18. Semigroup
  19. AdditiveSemigroup
  20. Group
  21. Monoid
  22. Semigroup
  23. Serializable
  24. Serializable
  25. AnyRef
  26. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def negate(x: T): T

    Permalink
    Definition Classes
    AdditiveGroup
  2. abstract def one: T

    Permalink
    Definition Classes
    Ring → MultiplicativeMonoid
  3. abstract def plus(x: T, y: T): T

    Permalink
    Definition Classes
    AdditiveSemigroup
  4. abstract def times(a: T, b: T): T

    Permalink
    Definition Classes
    Ring → MultiplicativeSemigroup
  5. abstract def zero: T

    Permalink
    Definition Classes
    AdditiveMonoid

Concrete 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: CommutativeGroup[T]

    Permalink
    Definition Classes
    AdditiveCommutativeGroup → AdditiveCommutativeMonoid → AdditiveCommutativeSemigroup → AdditiveGroup → AdditiveMonoid → AdditiveSemigroup
  5. final def asInstanceOf[T0]: T0

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

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

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

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

    Permalink
    Definition Classes
    Monoid → Monoid
  10. def combineAllOption(iter: TraversableOnce[T]): Option[T]

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

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

    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. def fromBigInt(n: BigInt): T

    Permalink
    Definition Classes
    Ring
  17. def fromInt(n: Int): T

    Permalink
    Definition Classes
    Ring
  18. final def getClass(): Class[_]

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

    Permalink
    Definition Classes
    AnyRef → Any
  20. def inverse(v: T): T

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

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

    Permalink
    Definition Classes
    Any
  23. def isNonZero(v: T): Boolean

    Permalink
    Definition Classes
    Monoid
  24. def isOne(a: T)(implicit ev: Eq[T]): Boolean

    Permalink
    Definition Classes
    MultiplicativeMonoid
  25. def isZero(a: T)(implicit ev: Eq[T]): Boolean

    Permalink
    Definition Classes
    AdditiveMonoid
  26. def minus(x: T, y: T): T

    Permalink
    Definition Classes
    AdditiveGroup
  27. def multiplicative: algebra.Monoid[T]

    Permalink
    Definition Classes
    MultiplicativeMonoid → MultiplicativeSemigroup
  28. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  29. def nonZeroOption(v: T): Option[T]

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

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

    Permalink
    Definition Classes
    AnyRef
  32. def positivePow(a: T, n: Int): T

    Permalink
    Attributes
    protected[this]
    Definition Classes
    MultiplicativeSemigroup
  33. def positiveSumN(a: T, n: Int): T

    Permalink
    Attributes
    protected[this]
    Definition Classes
    AdditiveSemigroup
  34. def pow(a: T, n: Int): T

    Permalink
    Definition Classes
    MultiplicativeMonoid → MultiplicativeSemigroup
  35. def product(iter: TraversableOnce[T]): T

    Permalink
    Definition Classes
    Ring → MultiplicativeMonoid
  36. def remove(l: T, r: T): T

    Permalink
    Definition Classes
    Group → Group
  37. def repeatedCombineN(a: T, n: Int): T

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

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

    Permalink
    Definition Classes
    AdditiveGroup → AdditiveMonoid → AdditiveSemigroup
  40. def sumOption(iter: TraversableOnce[T]): Option[T]

    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].

    iter

    instances of T to be combined

    returns

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

    Definition Classes
    Semigroup
    Note

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  43. def tryProduct(as: TraversableOnce[T]): Option[T]

    Permalink
    Definition Classes
    MultiplicativeMonoid → MultiplicativeSemigroup
  44. def trySum(as: TraversableOnce[T]): Option[T]

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from algebra.ring.Ring[T]

Inherited from Rng[T]

Inherited from AdditiveCommutativeGroup[T]

Inherited from Rig[T]

Inherited from MultiplicativeMonoid[T]

Inherited from Semiring[T]

Inherited from MultiplicativeSemigroup[T]

Inherited from AdditiveCommutativeMonoid[T]

Inherited from AdditiveCommutativeSemigroup[T]

Inherited from CommutativeGroup[T]

Inherited from CommutativeMonoid[T]

Inherited from CommutativeSemigroup[T]

Inherited from Group[T]

Inherited from AdditiveGroup[T]

Inherited from Monoid[T]

Inherited from AdditiveMonoid[T]

Inherited from Semigroup[T]

Inherited from AdditiveSemigroup[T]

Inherited from cats.kernel.Group[T]

Inherited from cats.kernel.Monoid[T]

Inherited from cats.kernel.Semigroup[T]

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped