Ring

algebra.ring.Ring
See theRing companion object
trait Ring[A] extends Rig[A] with Rng[A]

Ring consists of:

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

Additionally, 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.

Attributes

Companion:
object
Source:
Ring.scala
Graph
Supertypes
Known subtypes

Members list

Concise view

Value members

Concrete methods

def fromBigInt(n: BigInt): A

Convert the given BigInt to an instance of A.

Convert the given BigInt to an instance of A.

This is equivalent to n repeated summations of this ring's one, or -n summations of -one if n is negative.

Most type class instances should consider overriding this method for performance reasons.

Attributes

Source:
Ring.scala
def fromInt(n: Int): A

Convert the given integer to an instance of A.

Convert the given integer to an instance of A.

Defined to be equivalent to sumN(one, n).

That is, n repeated summations of this ring's one, or -n summations of -one if n is negative.

Most type class instances should consider overriding this method for performance reasons.

Attributes

Source:
Ring.scala

Inherited methods

def isOne(a: A)(implicit ev: Eq[A]): Boolean

Tests if a is one.

Tests if a is one.

Attributes

Inherited from:
MultiplicativeMonoid
Source:
Multiplicative.scala
def isZero(a: A)(implicit ev: Eq[A]): Boolean

Tests if a is zero.

Tests if a is zero.

Attributes

Inherited from:
AdditiveMonoid
Source:
Additive.scala
def minus(x: A, y: A): A

Attributes

Inherited from:
AdditiveGroup
Source:
Additive.scala
override def multiplicative: Monoid[A]
def negate(x: A): A

Attributes

Inherited from:
AdditiveGroup
Source:
Additive.scala
def one: A

Attributes

Inherited from:
MultiplicativeMonoid
Source:
Multiplicative.scala
def plus(x: A, y: A): A

Attributes

Inherited from:
AdditiveSemigroup
Source:
Additive.scala
override def pow(a: A, n: Int): A
def product(as: IterableOnce[A]): A

Given a sequence of as, compute the product.

Given a sequence of as, compute the product.

Attributes

Inherited from:
MultiplicativeMonoid
Source:
Multiplicative.scala
def sum(as: IterableOnce[A]): A

Given a sequence of as, compute the sum.

Given a sequence of as, compute the sum.

Attributes

Inherited from:
AdditiveMonoid
Source:
Additive.scala
override def sumN(a: A, n: Int): A

Attributes

Definition Classes
Inherited from:
AdditiveGroup
Source:
Additive.scala
def times(x: A, y: A): A

Attributes

Inherited from:
MultiplicativeSemigroup
Source:
Multiplicative.scala
override def tryProduct(as: IterableOnce[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).

Attributes

Definition Classes
Inherited from:
MultiplicativeMonoid
Source:
Multiplicative.scala
override def trySum(as: IterableOnce[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).

Attributes

Definition Classes
Inherited from:
AdditiveMonoid
Source:
Additive.scala
def zero: A

Attributes

Inherited from:
AdditiveMonoid
Source:
Additive.scala