Ring

interface Ring<T> : Group<T> , RingOperations<T>

Represents ring, i.e. algebraic structure with two associative binary operations called "addition" and "multiplication" and their neutral elements.

Parameters

T

the type of element of this ring.

Functions

add
Link copied to clipboard
common
abstract fun add(a: T, b: T): T
Addition of two elements.
binaryOperation
Link copied to clipboard
common
open fun binaryOperation(operation: String, left: T, right: T): T
Dynamically invokes a binary operation with the certain name.
binaryOperationFunction
Link copied to clipboard
common
open override fun binaryOperationFunction(operation: String): (T, T) -> T
Dynamically dispatches a binary operation with the certain name.
bindSymbol
Link copied to clipboard
common
open fun bindSymbol(value: String): T
Wraps a raw string to T object.
equals
Link copied to clipboard
common
open operator fun equals(other: Any?): Boolean
hashCode
Link copied to clipboard
common
open fun hashCode(): Int
minus
Link copied to clipboard
common
open operator fun T.minus(b: T): T
Subtraction of two elements.
multiply
Link copied to clipboard
common
abstract fun multiply(a: T, b: T): T
Multiplies two elements.
plus
Link copied to clipboard
common
open operator fun T.plus(b: T): T
Addition of two elements.
times
Link copied to clipboard
common
open operator fun T.times(b: T): T
Multiplies this element by scalar.
toString
Link copied to clipboard
common
open fun toString(): String
unaryMinus
Link copied to clipboard
common
abstract operator fun T.unaryMinus(): T
The negation of this element.
unaryOperation
Link copied to clipboard
common
open fun unaryOperation(operation: String, arg: T): T
Dynamically invokes an unary operation with the certain name.
unaryOperationFunction
Link copied to clipboard
common
open override fun unaryOperationFunction(operation: String): (T) -> T
Dynamically dispatches an unary operation with the certain name.
unaryPlus
Link copied to clipboard
common
open operator fun T.unaryPlus(): T
Returns this value.

Properties

one
Link copied to clipboard
common
abstract val one: T
neutral operation for multiplication
zero
Link copied to clipboard
common
abstract val zero: T
The neutral element of addition.

Inheritors

FunctionalExpressionRing
Link copied to clipboard
NDRing
Link copied to clipboard
Field
Link copied to clipboard
IntRing
Link copied to clipboard
ShortRing
Link copied to clipboard
ByteRing
Link copied to clipboard
LongRing
Link copied to clipboard
JBigIntegerField
Link copied to clipboard

Extensions

power
Link copied to clipboard
common
fun <T> Ring<T>.power(arg: T, power: Int): T
Raises arg to the natural power power.
ringExpression
Link copied to clipboard
common
inline fun <T> Ring<T>.ringExpression(block: FunctionalExpressionRing<T, Ring<T>>.() -> Expression<T>): Expression<T>
Creates a functional expression with this Ring.