Trait/Object

spire.algebra

Ring

Related Docs: object Ring | package algebra

Permalink

trait Ring[A] extends Rig[A] with Rng[A]

Ring represents a set (A) that is a group over addition (+) and a monoid over multiplication (*). Aside from this, the multiplication must distribute over addition.

Ring implements some methods (for example fromInt) in terms of other more fundamental methods (zero, one and plus). Where possible, these methods should be overridden by more efficient implementations.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Ring
  2. Rng
  3. AdditiveAbGroup
  4. AdditiveCMonoid
  5. AdditiveCSemigroup
  6. AdditiveGroup
  7. Rig
  8. MultiplicativeMonoid
  9. Semiring
  10. MultiplicativeSemigroup
  11. AdditiveMonoid
  12. AdditiveSemigroup
  13. 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 negate(x: A): A

    Permalink
    Definition Classes
    AdditiveGroup
  3. abstract def one: A

    Permalink
    Definition Classes
    MultiplicativeMonoid
  4. abstract def plus(x: A, y: A): A

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

    Permalink
    Definition Classes
    MultiplicativeSemigroup
  6. 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: AbGroup[A]

    Permalink
  5. final def asInstanceOf[T0]: T0

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

    Permalink
    Definition Classes
    Any
  7. def fromInt(n: Int): A

    Permalink

    Defined to be equivalent to additive.sumn(one, n).

    Defined to be equivalent to additive.sumn(one, n). That is, n repeated summations of this ring's one, or -one if n is negative.

  8. def hashCode(): Int

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

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

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

    Permalink

    Tests if a is zero.

    Tests if a is zero.

    Definition Classes
    AdditiveMonoid
  12. def minus(x: A, y: A): A

    Permalink
    Definition Classes
    AdditiveGroup
  13. def multiplicative: Monoid[A]

    Permalink
  14. def pow(a: A, n: Int): A

    Permalink

    This is similar to Semigroup#pow, except that a pow 0 is defined to be the multiplicative identity.

    This is similar to Semigroup#pow, except that a pow 0 is defined to be the multiplicative identity.

    Definition Classes
    RigSemiring
  15. def prod(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
    MultiplicativeMonoid
  16. 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
  17. def prodn(a: A, n: Int): A

    Permalink

    Return a multiplied with itself n times.

    Return a multiplied with itself n times.

    Definition Classes
    MultiplicativeMonoidMultiplicativeSemigroup
  18. def prodnAboveOne(a: A, n: Int): A

    Permalink
    Attributes
    protected
    Definition Classes
    MultiplicativeSemigroup
  19. 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
  20. 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
  21. def sumn(a: A, n: Int): A

    Permalink

    Return a added with itself n times.

    Return a added with itself n times.

    Definition Classes
    AdditiveGroupAdditiveMonoidAdditiveSemigroup
  22. def sumnAboveOne(a: A, n: Int): A

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

    Permalink
    Definition Classes
    Any

Inherited from Rng[A]

Inherited from AdditiveAbGroup[A]

Inherited from AdditiveCMonoid[A]

Inherited from AdditiveCSemigroup[A]

Inherited from AdditiveGroup[A]

Inherited from Rig[A]

Inherited from MultiplicativeMonoid[A]

Inherited from Semiring[A]

Inherited from MultiplicativeSemigroup[A]

Inherited from AdditiveMonoid[A]

Inherited from AdditiveSemigroup[A]

Inherited from Any

Ungrouped