Trait/Object

spire.algebra

Semiring

Related Docs: object Semiring | package algebra

Permalink

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

Semiring is a ring without identities or an inverse. Thus, it has no negation, zero, or one.

A Semiring with an additive inverse (-) is a Rng. A Semiring with additive and multiplicative identities (0 and 1) is a Rig. A Semiring with all of the above is a Ring.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Semiring
  2. MultiplicativeSemigroup
  3. AdditiveMonoid
  4. AdditiveSemigroup
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def getClass(): Class[_]

    Permalink
    Definition Classes
    Any
  2. abstract def plus(x: A, y: A): A

    Permalink
    Definition Classes
    AdditiveSemigroup
  3. abstract def times(x: A, y: A): A

    Permalink
    Definition Classes
    MultiplicativeSemigroup
  4. abstract def zero: A

    Permalink
    Definition Classes
    AdditiveMonoid

Concrete Value Members

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

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

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

    Permalink
    Definition Classes
    Any
  4. def additive: Monoid[A]

    Permalink
    Definition Classes
    AdditiveMonoidAdditiveSemigroup
  5. final def asInstanceOf[T0]: T0

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

    Permalink
    Definition Classes
    Any
  7. def hashCode(): Int

    Permalink
    Definition Classes
    Any
  8. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  9. def isZero(a: A)(implicit ev: Eq[A]): Boolean

    Permalink

    Tests if a is zero.

    Tests if a is zero.

    Definition Classes
    AdditiveMonoid
  10. def multiplicative: Semigroup[A]

    Permalink
    Definition Classes
    MultiplicativeSemigroup
  11. def pow(a: A, n: Int): A

    Permalink

    Returns a multiplied with itself n times.

    Returns a multiplied with itself n times. For instance, a pow 3 === a * a * a. Since this is a semiring, there is no notion of a multiplicative identity, and so the exponent must be positive.

  12. def prodOption(as: TraversableOnce[A]): Option[A]

    Permalink

    Given a sequence of as, sum them using the semigroup and return the total.

    Given a sequence of as, sum them using the semigroup and return the total.

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

    Definition Classes
    MultiplicativeSemigroup
  13. def prodn(a: A, n: Int): A

    Permalink

    Return a multiplied with itself n times.

    Return a multiplied with itself n times.

    Definition Classes
    MultiplicativeSemigroup
  14. def prodnAboveOne(a: A, n: Int): A

    Permalink
    Attributes
    protected
    Definition Classes
    MultiplicativeSemigroup
  15. def sum(as: TraversableOnce[A]): A

    Permalink

    Given a sequence of as, sum them using the monoid and return the total.

    Given a sequence of as, sum them using the monoid and return the total.

    Definition Classes
    AdditiveMonoid
  16. def sumOption(as: TraversableOnce[A]): Option[A]

    Permalink

    Given a sequence of as, sum them using the semigroup and return the total.

    Given a sequence of as, sum them using the semigroup and return the total.

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

    Definition Classes
    AdditiveSemigroup
  17. def sumn(a: A, n: Int): A

    Permalink

    Return a added with itself n times.

    Return a added with itself n times.

    Definition Classes
    AdditiveMonoidAdditiveSemigroup
  18. def sumnAboveOne(a: A, n: Int): A

    Permalink
    Attributes
    protected
    Definition Classes
    AdditiveSemigroup
  19. def toString(): String

    Permalink
    Definition Classes
    Any

Inherited from MultiplicativeSemigroup[A]

Inherited from AdditiveMonoid[A]

Inherited from AdditiveSemigroup[A]

Inherited from Any

Ungrouped