IntRing

A field for Int without boxing. Does not produce corresponding ring element.

Functions

Link copied to clipboard
fun <T : Comparable<T>> Group<T>.abs(value: T): T

Absolute of the comparable value

Link copied to clipboard
open inline override fun add(left: Int, right: Int): Int

Addition of two elements.

Link copied to clipboard
open fun binaryOperation(operation: String, left: Int, right: Int): Int

Dynamically invokes a binary operation with the certain name.

Link copied to clipboard
open override fun binaryOperationFunction(operation: String): (left: Int, right: Int) -> Int

Dynamically dispatches a binary operation with the certain name.

Link copied to clipboard
open fun bindSymbol(value: String): Int

The same as bindSymbolOrNull but throws an error if symbol could not be bound

Link copied to clipboard
fun <T> Algebra<T>.bindSymbol(symbol: Symbol): T
Link copied to clipboard
open fun bindSymbolOrNull(value: String): Int?

Wraps a raw string to T object. This method is designed for three purposes:

Link copied to clipboard
fun <T> Algebra<T>.bindSymbolOrNull(symbol: Symbol): T?
Link copied to clipboard
open fun export(arg: Int): Int

Export an algebra element, so it could be accessed even after algebra scope is closed. This method must be used on algebras where data is stored externally or any local algebra state is used. By default (if not overridden), exports the object itself.

Link copied to clipboard
open fun leftSideNumberOperation(operation: String, left: Number, right: Int): Int

Dynamically invokes a binary operation with the certain name with numeric first argument.

Link copied to clipboard
open fun leftSideNumberOperationFunction(operation: String): (left: Number, right: Int) -> Int

Dynamically dispatches a binary operation with the certain name with numeric first argument.

Link copied to clipboard
open inline operator override fun Int.minus(arg: Int): Int

Subtraction of two elements.

Link copied to clipboard
open inline override fun multiply(left: Int, right: Int): Int

Multiplies two elements.

Link copied to clipboard
open inline override fun norm(arg: Int): Int

Computes the norm of arg (i.e., absolute value or vector length).

Link copied to clipboard
open override fun number(value: Number): Int

Wraps a number to T object.

Link copied to clipboard
open inline operator override fun Int.plus(arg: Int): Int

Addition of two elements.

Link copied to clipboard
open fun power(arg: Int, pow: UInt): Int

Raises arg to the integer power pow.

Link copied to clipboard
open fun rightSideNumberOperation(operation: String, left: Int, right: Number): Int

Dynamically invokes a binary operation with the certain name with numeric second argument.

Link copied to clipboard
open fun rightSideNumberOperationFunction(operation: String): (left: Int, right: Number) -> Int

Dynamically dispatches a binary operation with the certain name with numeric first argument.

Link copied to clipboard
fun <T> Group<T>.sum(data: Iterable<T>): T
@PerformancePitfall(message = "Potential boxing access to buffer elements")
fun <T> Group<T>.sum(data: Buffer<T>): T

Returns the sum of all elements in the iterable in this Group.

fun <T> Group<T>.sum(data: Sequence<T>): T

Returns the sum of all elements in the sequence in this Group.

Link copied to clipboard
open inline operator override fun Int.times(arg: Int): Int

Multiplies this element by scalar.

Link copied to clipboard
open inline operator override fun Int.unaryMinus(): Int

The negation of this element.

Link copied to clipboard
open fun unaryOperation(operation: String, arg: Int): Int

Dynamically invokes a unary operation with the certain name.

Link copied to clipboard
open override fun unaryOperationFunction(operation: String): (arg: Int) -> Int

Dynamically dispatches a unary operation with the certain name.

Link copied to clipboard
open operator fun Int.unaryPlus(): Int

Returns this value.

Link copied to clipboard
inline fun <R> IntRing.withNdAlgebra(vararg shape: Int, action: IntRingND.() -> R): R

Properties

Link copied to clipboard
Link copied to clipboard

Provide a factory for buffers, associated with this Algebra

Link copied to clipboard
val <T> NumericAlgebra<T>.e: T

The e mathematical constant.

Link copied to clipboard
open override val one: Int

The neutral element of multiplication

Link copied to clipboard

The π mathematical constant.

Link copied to clipboard
open override val zero: Int

The neutral element of addition.