trait Semiring[A] extends AdditiveCommutativeMonoid[A] with MultiplicativeSemigroup[A]

Semiring consists of:

  • a commutative monoid for addition (+)
  • a semigroup for multiplication (*)

Alternately, a Semiring can be thought of as a ring without a multiplicative identity or an additive inverse.

A Semiring with an additive inverse (-) is a Rng. A Semiring with a multiplicative identity (1) is a Rig. A Semiring with both of those is a Ring.

Source
Semiring.scala
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Semiring
  2. MultiplicativeSemigroup
  3. AdditiveCommutativeMonoid
  4. AdditiveCommutativeSemigroup
  5. AdditiveMonoid
  6. AdditiveSemigroup
  7. Serializable
  8. Serializable
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def getClass(): Class[_]
    Definition Classes
    Any
  2. abstract def plus(x: A, y: A): A
    Definition Classes
    AdditiveSemigroup
  3. abstract def times(x: A, y: A): A
    Definition Classes
    MultiplicativeSemigroup
  4. abstract def zero: A
    Definition Classes
    AdditiveMonoid

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    Any
  2. final def ##(): Int
    Definition Classes
    Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    Any
  4. def additive: CommutativeMonoid[A]
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def equals(arg0: Any): Boolean
    Definition Classes
    Any
  7. def hashCode(): Int
    Definition Classes
    Any
  8. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  9. def isZero(a: A)(implicit ev: Eq[A]): Boolean

    Tests if a is zero.

    Tests if a is zero.

    Definition Classes
    AdditiveMonoid
  10. def multiplicative: Semigroup[A]
    Definition Classes
    MultiplicativeSemigroup
  11. def positivePow(a: A, n: Int): A
    Attributes
    protected[this]
    Definition Classes
    MultiplicativeSemigroup
  12. def positiveSumN(a: A, n: Int): A
    Attributes
    protected[this]
    Definition Classes
    AdditiveSemigroup
  13. def pow(a: A, n: Int): A
    Definition Classes
    MultiplicativeSemigroup
  14. def sum(as: TraversableOnce[A]): A

    Given a sequence of as, compute the sum.

    Given a sequence of as, compute the sum.

    Definition Classes
    AdditiveMonoid
  15. def sumN(a: A, n: Int): A
    Definition Classes
    AdditiveMonoidAdditiveSemigroup
  16. def toString(): String
    Definition Classes
    Any
  17. def tryProduct(as: TraversableOnce[A]): Option[A]

    Given a sequence of as, combine them and return the total.

    Given a sequence of as, combine them and return the total.

    If the sequence is empty, returns None. Otherwise, returns Some(total).

    Definition Classes
    MultiplicativeSemigroup
  18. def trySum(as: TraversableOnce[A]): Option[A]

    Given a sequence of as, combine them and return the total.

    Given a sequence of as, combine them and return the total.

    If the sequence is empty, returns None. Otherwise, returns Some(total).

    Definition Classes
    AdditiveMonoidAdditiveSemigroup

Inherited from MultiplicativeSemigroup[A]

Inherited from AdditiveCommutativeMonoid[A]

Inherited from AdditiveCommutativeSemigroup[A]

Inherited from AdditiveMonoid[A]

Inherited from AdditiveSemigroup[A]

Inherited from Serializable

Inherited from Serializable

Inherited from Any

Ungrouped