MstRing

object MstRing : Ring<MST> , NumbersAddOperations<MST> , ScaleOperations<MST>

Ring over MST nodes.

Functions

add
Link copied to clipboard
common
open override fun add(a: MST, b: MST): MST.Binary
binaryOperation
Link copied to clipboard
common
open fun binaryOperation(operation: String, left: MST, right: MST): MST
Dynamically invokes a binary operation with the certain name.
binaryOperationFunction
Link copied to clipboard
common
open override fun binaryOperationFunction(operation: String): (left: MST, right: MST) -> MST.Binary
Dynamically dispatches a binary operation with the certain name.
bindSymbol
Link copied to clipboard
common
open fun bindSymbol(value: String): MST
The same as bindSymbolOrNull but throws an error if symbol could not be bound
bindSymbolOrNull
Link copied to clipboard
common
open override fun bindSymbolOrNull(value: String): MST.Symbolic
Wraps a raw string to T object.
div
Link copied to clipboard
common
open operator fun MST.div(k: Number): MST
Division of this element by scalar.
leftSideNumberOperation
Link copied to clipboard
common
open fun leftSideNumberOperation(operation: String, left: Number, right: MST): MST
Dynamically invokes a binary operation with the certain name with numeric first argument.
leftSideNumberOperationFunction
Link copied to clipboard
common
open fun leftSideNumberOperationFunction(operation: String): (left: Number, right: MST) -> MST
Dynamically dispatches a binary operation with the certain name with numeric first argument.
minus
Link copied to clipboard
common
open operator override fun MST.minus(b: MST): MST.Binary
open operator fun Number.minus(b: MST): MST
Subtraction of number from element.
open operator fun MST.minus(b: Number): MST
Subtraction of element from number.
multiply
Link copied to clipboard
common
open override fun multiply(a: MST, b: MST): MST.Binary
Multiplies two elements.
number
Link copied to clipboard
common
open override fun number(value: Number): MST.Numeric
Wraps a number to T object.
plus
Link copied to clipboard
common
open operator fun MST.plus(b: MST): MST
Addition of two elements.
open operator fun Number.plus(b: MST): MST
Addition of scalar and element.
open operator fun MST.plus(b: Number): MST
Addition of element and scalar.
rightSideNumberOperation
Link copied to clipboard
common
open fun rightSideNumberOperation(operation: String, left: MST, right: Number): MST
Dynamically invokes a binary operation with the certain name with numeric second argument.
rightSideNumberOperationFunction
Link copied to clipboard
common
open fun rightSideNumberOperationFunction(operation: String): (left: MST, right: Number) -> MST
Dynamically dispatches a binary operation with the certain name with numeric first argument.
scale
Link copied to clipboard
common
open override fun scale(a: MST, value: Double): MST.Binary
Scaling an element by a scalar.
times
Link copied to clipboard
common
open operator fun MST.times(b: MST): MST
Multiplies this element by scalar.
open operator fun Number.times(b: MST): MST
Multiplication of this number by element.
open operator fun MST.times(k: Number): MST
Multiplication of this element by a scalar.
unaryMinus
Link copied to clipboard
common
open operator override fun MST.unaryMinus(): MST.Unary
unaryOperation
Link copied to clipboard
common
open fun unaryOperation(operation: String, arg: MST): MST
Dynamically invokes an unary operation with the certain name.
unaryOperationFunction
Link copied to clipboard
common
open override fun unaryOperationFunction(operation: String): (arg: MST) -> MST.Unary
Dynamically dispatches an unary operation with the certain name.
unaryPlus
Link copied to clipboard
common
open operator override fun MST.unaryPlus(): MST.Unary

Properties

one
Link copied to clipboard
common
open override val one: MST.Numeric
neutral operation for multiplication
zero
Link copied to clipboard
common
open override val zero: MST.Numeric
The neutral element of addition.