Companion

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 override fun add(left: BigDecimal, right: BigDecimal): BigDecimal

Addition of two elements.

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

Dynamically invokes a binary operation with the certain name.

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

Dynamically dispatches a binary operation with the certain name.

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

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

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 operator fun BigDecimal.div(arg: BigDecimal): BigDecimal

Division of two elements.

open operator fun BigDecimal.div(k: Number): BigDecimal

Division of this element by scalar.

Link copied to clipboard
open override fun divide(left: BigDecimal, right: BigDecimal): BigDecimal

Division of two elements.

Link copied to clipboard

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: BigDecimal): BigDecimal

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: BigDecimal) -> BigDecimal

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

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

Subtraction of two elements.

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

Multiplies two elements.

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

Wraps a number to T object.

Link copied to clipboard
open operator fun BigDecimal.plus(arg: BigDecimal): BigDecimal

Addition of two elements.

Link copied to clipboard
open infix fun BigDecimal.pow(pow: Number): BigDecimal

Raises this value to the power pow.

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

open override fun power(arg: BigDecimal, pow: Number): BigDecimal

Raises arg to a power if possible (negative number could not be raised to a fractional power). Throws IllegalArgumentException if not possible.

open fun power(arg: BigDecimal, pow: UInt): BigDecimal

Raises arg to the integer power pow.

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

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

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

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

Link copied to clipboard
open override fun scale(a: BigDecimal, value: Double): BigDecimal

Scaling an element by a scalar.

Link copied to clipboard
open override fun sqrt(arg: BigDecimal): BigDecimal

Computes the square root of the value arg.

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 operator fun BigDecimal.times(arg: BigDecimal): BigDecimal

Multiplies this element by scalar.

open operator fun BigDecimal.times(k: Number): BigDecimal

Multiplication of this element by a scalar.

open operator fun Number.times(arg: BigDecimal): BigDecimal

Multiplication of this number by element.

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

The negation of this element.

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

Dynamically invokes a unary operation with the certain name.

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

Dynamically dispatches a unary operation with the certain name.

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

Returns this value.

Properties

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: BigDecimal

The neutral element of multiplication

Link copied to clipboard

The π mathematical constant.

Link copied to clipboard
open override val zero: BigDecimal

The neutral element of addition.