spire.algebra

Ring

trait Ring[A] extends Semiring[A] with Rig[A] with Rng[A] with AdditiveAbGroup[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
BigDecimalIsEuclideanRing, BigDecimalIsEuclideanRing, BigDecimalIsField, BigDecimalIsField, BigDecimalIsFractional, BigDecimalIsFractional, BigDecimalIsNumeric, BigDecimalIsNumeric, BigDecimalIsRing, BigDecimalIsRing, BigIntIsEuclideanRing, BigIntIsEuclideanRing, BigIntIsIntegral, BigIntIsIntegral, BigIntIsNumeric, BigIntIsNumeric, BigIntIsRing, BigIntIsRing, ByteIsRing, ByteIsRing, ComplexIsEuclideanRing, ComplexIsField, ComplexIsInnerProductSpace, ComplexIsNumeric, ComplexIsRing, DoubleIsEuclideanRing, DoubleIsEuclideanRing, DoubleIsField, DoubleIsField, DoubleIsFractional, DoubleIsFractional, DoubleIsNumeric, DoubleIsNumeric, DoubleIsRing, DoubleIsRing, EuclideanRing, EuclideanRingProduct10, EuclideanRingProduct11, EuclideanRingProduct12, EuclideanRingProduct13, EuclideanRingProduct14, EuclideanRingProduct15, EuclideanRingProduct16, EuclideanRingProduct17, EuclideanRingProduct18, EuclideanRingProduct19, EuclideanRingProduct2, EuclideanRingProduct20, EuclideanRingProduct21, EuclideanRingProduct22, EuclideanRingProduct3, EuclideanRingProduct4, EuclideanRingProduct5, EuclideanRingProduct6, EuclideanRingProduct7, EuclideanRingProduct8, EuclideanRingProduct9, FPFilterIsEuclideanRing, FPFilterIsField, FPFilterIsFractional, FPFilterIsNumeric, FPFilterIsRing, Field, FieldProduct10, FieldProduct11, FieldProduct12, FieldProduct13, FieldProduct14, FieldProduct15, FieldProduct16, FieldProduct17, FieldProduct18, FieldProduct19, FieldProduct2, FieldProduct20, FieldProduct21, FieldProduct22, FieldProduct3, FieldProduct4, FieldProduct5, FieldProduct6, FieldProduct7, FieldProduct8, FieldProduct9, FloatIsEuclideanRing, FloatIsEuclideanRing, FloatIsField, FloatIsField, FloatIsFractional, FloatIsFractional, FloatIsNumeric, FloatIsNumeric, FloatIsRing, FloatIsRing, Fractional, GaussianIsEuclideanRing, GaussianIsNumeric, GaussianIsRing, IntIsEuclideanRing, IntIsEuclideanRing, IntIsIntegral, IntIsIntegral, IntIsNumeric, IntIsNumeric, IntIsRing, IntIsRing, Integral, LongIsEuclideanRing, LongIsEuclideanRing, LongIsIntegral, LongIsIntegral, LongIsNumeric, LongIsNumeric, LongIsRing, LongIsRing, NumberIsEuclideanRing, NumberIsEuclideanRing, NumberIsField, NumberIsField, NumberIsFractional, NumberIsFractional, NumberIsRing, NumberIsRing, Numeric, RationalIsEuclideanRing, RationalIsEuclideanRing, RationalIsField, RationalIsField, RationalIsFractional, RationalIsNumeric, RationalIsRing, RationalIsRing, RealIsEuclideanRing, RealIsEuclideanRing, RealIsField, RealIsField, RealIsFractional, RealIsFractional, RealIsNumeric, RealIsNumeric, RealIsRing, RealIsRing, RingProduct10, RingProduct11, RingProduct12, RingProduct13, RingProduct14, RingProduct15, RingProduct16, RingProduct17, RingProduct18, RingProduct19, RingProduct2, RingProduct20, RingProduct21, RingProduct22, RingProduct3, RingProduct4, RingProduct5, RingProduct6, RingProduct7, RingProduct8, RingProduct9, SafeLongIsEuclideanRing, SafeLongIsEuclideanRing, SafeLongIsIntegral, SafeLongIsRing, SafeLongIsRing, ShortIsRing, ShortIsRing, ZAlgebra
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Ring
  2. Rng
  3. AdditiveAbGroup
  4. AdditiveGroup
  5. Rig
  6. MultiplicativeMonoid
  7. AdditiveMonoid
  8. Semiring
  9. MultiplicativeSemigroup
  10. AdditiveSemigroup
  11. AnyRef
  12. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def negate(x: A): A

    Definition Classes
    AdditiveGroup
  2. abstract def one: A

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

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

    Definition Classes
    MultiplicativeSemigroup
  5. abstract def zero: A

    Definition Classes
    AdditiveMonoid

Concrete Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. def additive: AbGroup[A]

  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  9. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  12. def fromInt(n: Int): A

  13. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  14. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  15. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  16. def minus(x: A, y: A): A

    Definition Classes
    AdditiveGroup
  17. def multiplicative: Monoid[A]

  18. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  19. final def notify(): Unit

    Definition Classes
    AnyRef
  20. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  21. def pow(a: A, n: Int): A

    Definition Classes
    RigSemiring
  22. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  23. def toString(): String

    Definition Classes
    AnyRef → Any
  24. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  25. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  26. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from Rng[A]

Inherited from AdditiveAbGroup[A]

Inherited from AdditiveGroup[A]

Inherited from Rig[A]

Inherited from MultiplicativeMonoid[A]

Inherited from AdditiveMonoid[A]

Inherited from Semiring[A]

Inherited from MultiplicativeSemigroup[A]

Inherited from AdditiveSemigroup[A]

Inherited from AnyRef

Inherited from Any

Ungrouped