FieldND

interface FieldND<T, F : Field<T>> : Field<StructureND<T>> , RingND<T, F> , ScaleOperations<StructureND<T>>

Field of StructureND.

Parameters

T

the type of the element contained in ND structure.

N

the type of ND structure.

F

the type field of structure elements.

Functions

add
Link copied to clipboard
common
abstract fun add(a: StructureND<T>, b: StructureND<T>): StructureND<T>
Addition of two elements.
binaryOperation
Link copied to clipboard
common
open fun binaryOperation(operation: String, left: StructureND<T>, right: StructureND<T>): StructureND<T>
Dynamically invokes a binary operation with the certain name.
binaryOperationFunction
Link copied to clipboard
common
open override fun binaryOperationFunction(operation: String): (left: StructureND<T>, right: StructureND<T>) -> StructureND<T>
Dynamically dispatches a binary operation with the certain name.
bindSymbol
Link copied to clipboard
common
open fun bindSymbol(value: String): StructureND<T>
The same as bindSymbolOrNull but throws an error if symbol could not be bound
bindSymbolOrNull
Link copied to clipboard
common
open fun bindSymbolOrNull(value: String): StructureND<T>?
Wraps a raw string to T object.
combine
Link copied to clipboard
common
abstract fun combine(a: StructureND<T>, b: StructureND<T>, transform: F.(T, T) -> T): StructureND<T>
Combines two structures into one.
div
Link copied to clipboard
common
open operator fun T.div(arg: StructureND<T>): StructureND<T>
Divides an element by an ND structure of it.
open operator fun StructureND<T>.div(arg: T): StructureND<T>
Divides an ND structure by an element of it.
open operator fun StructureND<T>.div(b: StructureND<T>): StructureND<T>
Division of two elements.
open operator fun StructureND<T>.div(k: Number): StructureND<T>
Division of this element by scalar.
divide
Link copied to clipboard
common
open override fun divide(a: StructureND<T>, b: StructureND<T>): StructureND<T>
Element-wise division.
getFeature
Link copied to clipboard
common
open fun <F : StructureFeature> getFeature(structure: StructureND<T>, type: KClass<out F>): F?
Get a feature of the structure in this scope.
invoke
Link copied to clipboard
common
open operator fun (T) -> T.invoke(structure: StructureND<T>): StructureND<T>
Element-wise invocation of function working on T on a StructureND.
leftSideNumberOperation
Link copied to clipboard
common
open fun leftSideNumberOperation(operation: String, left: Number, right: StructureND<T>): StructureND<T>
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: StructureND<T>) -> StructureND<T>
Dynamically dispatches a binary operation with the certain name with numeric first argument.
map
Link copied to clipboard
common
abstract fun StructureND<T>.map(transform: F.(T) -> T): StructureND<T>
Maps elements from one structure to another one by applying transform to them.
mapIndexed
Link copied to clipboard
common
abstract fun StructureND<T>.mapIndexed(transform: F.(index: IntArray, T) -> T): StructureND<T>
Maps elements from one structure to another one by applying transform to them alongside with their indices.
minus
Link copied to clipboard
common
open operator fun T.minus(arg: StructureND<T>): StructureND<T>
Subtracts an ND structure from an element of it.
open operator fun StructureND<T>.minus(arg: T): StructureND<T>
Subtracts an element from ND structure of it.
open operator fun StructureND<T>.minus(b: StructureND<T>): StructureND<T>
Subtraction of two elements.
multiply
Link copied to clipboard
common
abstract fun multiply(a: StructureND<T>, b: StructureND<T>): StructureND<T>
Multiplies two elements.
number
Link copied to clipboard
common
open override fun number(value: Number): StructureND<T>
Wraps a number to T object.
plus
Link copied to clipboard
common
open operator fun T.plus(arg: StructureND<T>): StructureND<T>
Adds an element to ND structure of it.
open operator fun StructureND<T>.plus(arg: T): StructureND<T>
Adds an ND structure to an element of it.
open operator fun StructureND<T>.plus(b: StructureND<T>): StructureND<T>
Addition of two elements.
produce
Link copied to clipboard
common
abstract fun produce(initializer: F.(IntArray) -> T): StructureND<T>
Produces a new NDStructure using given initializer function.
rightSideNumberOperation
Link copied to clipboard
common
open fun rightSideNumberOperation(operation: String, left: StructureND<T>, right: Number): StructureND<T>
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: StructureND<T>, right: Number) -> StructureND<T>
Dynamically dispatches a binary operation with the certain name with numeric first argument.
scale
Link copied to clipboard
common
abstract fun scale(a: StructureND<T>, value: Double): StructureND<T>
Scaling an element by a scalar.
times
Link copied to clipboard
common
open operator fun T.times(arg: StructureND<T>): StructureND<T>
Multiplies an element by a ND structure of it.
open operator fun StructureND<T>.times(arg: T): StructureND<T>
Multiplies an ND structure by an element of it.
open operator fun StructureND<T>.times(b: StructureND<T>): StructureND<T>
Multiplies this element by scalar.
open operator fun Number.times(b: StructureND<T>): StructureND<T>
Multiplication of this number by element.
open operator fun StructureND<T>.times(k: Number): StructureND<T>
Multiplication of this element by a scalar.
unaryMinus
Link copied to clipboard
common
abstract operator fun StructureND<T>.unaryMinus(): StructureND<T>
The negation of this element.
unaryOperation
Link copied to clipboard
common
open fun unaryOperation(operation: String, arg: StructureND<T>): StructureND<T>
Dynamically invokes an unary operation with the certain name.
unaryOperationFunction
Link copied to clipboard
common
open override fun unaryOperationFunction(operation: String): (arg: StructureND<T>) -> StructureND<T>
Dynamically dispatches an unary operation with the certain name.
unaryPlus
Link copied to clipboard
common
open operator fun StructureND<T>.unaryPlus(): StructureND<T>
Returns this value.

Properties

elementContext
Link copied to clipboard
common
abstract val elementContext: F
The algebra over elements of ND structure.
one
Link copied to clipboard
common
abstract val one: StructureND<T>
neutral operation for multiplication
shape
Link copied to clipboard
common
abstract val shape: IntArray
The shape of ND-structures this algebra operates on.
zero
Link copied to clipboard
common
abstract val zero: StructureND<T>
The neutral element of addition.

Inheritors

BufferedFieldND
Link copied to clipboard