Packages

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:

  • additive identity aka zero
  • addition
  • multiplication

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, AnyRef, Any
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. AnyRef
  25. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def negate(x: T): T
    Definition Classes
    AdditiveGroup
  2. abstract def one: T
    Definition Classes
    Ring → MultiplicativeMonoid
  3. abstract def plus(x: T, y: T): T
    Definition Classes
    AdditiveSemigroup
  4. abstract def times(a: T, b: T): T
    Definition Classes
    Ring → MultiplicativeSemigroup
  5. abstract def zero: T
    Definition Classes
    AdditiveMonoid

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def additive: CommutativeGroup[T]
    Definition Classes
    AdditiveCommutativeGroup → AdditiveCommutativeMonoid → AdditiveCommutativeSemigroup → AdditiveGroup → AdditiveMonoid → AdditiveSemigroup
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def assertNotZero(v: T): Unit
    Definition Classes
    Monoid
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  8. def combine(l: T, r: T): T
    Definition Classes
    Semigroup → Semigroup
  9. def combineAll(t: TraversableOnce[T]): T
    Definition Classes
    Monoid → Monoid
  10. def combineAllOption(iter: TraversableOnce[T]): Option[T]
    Definition Classes
    Semigroup → Semigroup
  11. def combineN(a: T, n: Int): T
    Definition Classes
    Group → Monoid → Semigroup
  12. def empty: T
    Definition Classes
    Monoid → Monoid
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  16. def fromBigInt(n: BigInt): T
    Definition Classes
    Ring
  17. def fromInt(n: Int): T
    Definition Classes
    Ring
  18. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  19. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  20. def inverse(v: T): T
    Definition Classes
    Group → Group
  21. def isEmpty(a: T)(implicit ev: Eq[T]): Boolean
    Definition Classes
    Monoid
  22. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  23. def isNonZero(v: T): Boolean
    Definition Classes
    Monoid
  24. def isOne(a: T)(implicit ev: Eq[T]): Boolean
    Definition Classes
    MultiplicativeMonoid
  25. def isZero(a: T)(implicit ev: Eq[T]): Boolean
    Definition Classes
    AdditiveMonoid
  26. def minus(x: T, y: T): T
    Definition Classes
    AdditiveGroup
  27. def multiplicative: algebra.Monoid[T]
    Definition Classes
    MultiplicativeMonoid → MultiplicativeSemigroup
  28. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  29. def nonZeroOption(v: T): Option[T]
    Definition Classes
    Monoid
  30. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  31. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  32. def positivePow(a: T, n: Int): T
    Attributes
    protected[this]
    Definition Classes
    MultiplicativeSemigroup
  33. def positiveSumN(a: T, n: Int): T
    Attributes
    protected[this]
    Definition Classes
    AdditiveSemigroup
  34. def pow(a: T, n: Int): T
    Definition Classes
    MultiplicativeMonoid → MultiplicativeSemigroup
  35. def product(iter: TraversableOnce[T]): T
    Definition Classes
    Ring → MultiplicativeMonoid
  36. def remove(l: T, r: T): T
    Definition Classes
    Group → Group
  37. def repeatedCombineN(a: T, n: Int): T
    Attributes
    protected[this]
    Definition Classes
    Semigroup
  38. def sum(vs: TraversableOnce[T]): T
    Definition Classes
    Monoid → AdditiveMonoid
  39. def sumN(a: T, n: Int): T
    Definition Classes
    AdditiveGroup → AdditiveMonoid → AdditiveSemigroup
  40. def sumOption(iter: TraversableOnce[T]): Option[T]

    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
    Definition Classes
    AnyRef
  42. def toString(): String
    Definition Classes
    AnyRef → Any
  43. def tryProduct(as: TraversableOnce[T]): Option[T]
    Definition Classes
    MultiplicativeMonoid → MultiplicativeSemigroup
  44. def trySum(as: TraversableOnce[T]): Option[T]
    Definition Classes
    AdditiveMonoid → AdditiveSemigroup
  45. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  46. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  47. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

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 AnyRef

Inherited from Any

Ungrouped