FunctionalExpressionGroup

open class FunctionalExpressionGroup<T, out A : Group<T>>(algebra: A) : FunctionalExpressionAlgebra<T, A> , Group<Expression<T>>

A context class for Expression construction for Ring algebras.

Constructors

Link copied to clipboard
fun <out A : Group<T>> FunctionalExpressionGroup(algebra: A)

Functions

Link copied to clipboard
open override fun add(left: Expression<T>, right: Expression<T>): Expression<T>

Builds an Expression of addition of two another expressions.

Link copied to clipboard
open fun binaryOperation(operation: String, left: Expression<T>, right: Expression<T>): Expression<T>

Dynamically invokes a binary operation with the certain name.

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

Dynamically dispatches a binary operation with the certain name.

Link copied to clipboard
open fun bindSymbol(value: String): Expression<T>

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

Link copied to clipboard
open override fun bindSymbolOrNull(value: String): Expression<T>?

Builds an Expression to access a variable.

Link copied to clipboard
open override fun const(value: T): Expression<T>

Builds an Expression of constant expression that does not depend on arguments.

Link copied to clipboard
open fun export(arg: Expression<T>): Expression<T>

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
operator fun T.minus(arg: Expression<T>): Expression<T>
operator fun Expression<T>.minus(arg: T): Expression<T>

open operator fun Expression<T>.minus(arg: Expression<T>): Expression<T>

Subtraction of two elements.

Link copied to clipboard
operator fun T.plus(arg: Expression<T>): Expression<T>
operator fun Expression<T>.plus(arg: T): Expression<T>

open operator fun Expression<T>.plus(arg: Expression<T>): Expression<T>

Addition of two elements.

Link copied to clipboard
open operator override fun Expression<T>.unaryMinus(): Expression<T>

The negation of this element.

Link copied to clipboard
open fun unaryOperation(operation: String, arg: Expression<T>): Expression<T>

Dynamically invokes a unary operation with the certain name.

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

Dynamically dispatches a unary operation with the certain name.

Link copied to clipboard
open operator fun Expression<T>.unaryPlus(): Expression<T>

Returns this value.

Properties

Link copied to clipboard
val algebra: A
Link copied to clipboard
open override val zero: Expression<T>

The neutral element of addition.

Inheritors

Link copied to clipboard

Sources

Link copied to clipboard