BufferFieldOps

open class BufferFieldOps<T, A : Field<T>>(elementAlgebra: A, bufferFactory: BufferFactory<T>) : BufferRingOps<T, A> , BufferAlgebra<T, A> , FieldOps<Buffer<T>> , ScaleOperations<Buffer<T>>

Functions

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

Addition of two elements.

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

Dynamically invokes a binary operation with the certain name.

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

Dynamically dispatches a binary operation with the certain name.

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

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

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

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

Link copied to clipboard
open fun buffer(size: Int, vararg elements: T): Buffer<T>
Link copied to clipboard
open operator fun Buffer<T>.div(arg: Buffer<T>): Buffer<T>

Division of two elements.

open operator fun Buffer<T>.div(k: Number): Buffer<T>

Division of this element by scalar.

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

Division of two elements.

Link copied to clipboard
open fun export(arg: Buffer<T>): Buffer<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
open fun Buffer<T>.map(block: A.(T) -> T): Buffer<T>
Link copied to clipboard
open fun Buffer<T>.mapIndexed(block: A.(index: Int, T) -> T): Buffer<T>
Link copied to clipboard
open operator fun Buffer<T>.minus(arg: Buffer<T>): Buffer<T>

Subtraction of two elements.

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

Multiplies two elements.

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

Addition of two elements.

Link copied to clipboard
open override fun scale(a: Buffer<T>, value: Double): Buffer<T>

Scaling an element by a scalar.

Link copied to clipboard
open operator fun Buffer<T>.times(arg: Buffer<T>): Buffer<T>

Multiplies this element by scalar.

open operator fun Number.times(arg: Buffer<T>): Buffer<T>

Multiplication of this number by element.

open operator fun Buffer<T>.times(k: Number): Buffer<T>

Multiplication of this element by a scalar.

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

The negation of this element.

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

Dynamically invokes a unary operation with the certain name.

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

Dynamically dispatches a unary operation with the certain name.

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

Returns this value.

Link copied to clipboard
open fun Buffer<T>.zip(other: Buffer<T>, block: A.(T, T) -> T): Buffer<T>

Properties

Link copied to clipboard
open override val bufferFactory: BufferFactory<T>
Link copied to clipboard
open override val elementAlgebra: A

Inheritors

Link copied to clipboard

Extensions

Link copied to clipboard
fun <T, A : Field<T>> BufferFieldOps<T, A>.withSize(size: Int): BufferField<T, A>

Generate full buffer field from given buffer operations

Sources

Link copied to clipboard