BufferAlgebraND

interface BufferAlgebraND<T, A : Algebra<T>> : AlgebraND<T, A>

Functions

combine
Link copied to clipboard
common
open override fun combine(a: StructureND<T>, b: StructureND<T>, transform: A.(T, T) -> T): BufferND<T>
Combines two structures into one.
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.
map
Link copied to clipboard
common
open override fun StructureND<T>.map(transform: A.(T) -> T): BufferND<T>
Maps elements from one structure to another one by applying transform to them.
mapIndexed
Link copied to clipboard
common
open override fun StructureND<T>.mapIndexed(transform: A.(index: IntArray, T) -> T): BufferND<T>
Maps elements from one structure to another one by applying transform to them alongside with their indices.
produce
Link copied to clipboard
common
open override fun produce(initializer: A.(IntArray) -> T): BufferND<T>
Produces a new NDStructure using given initializer function.

Properties

buffer
Link copied to clipboard
common
open val StructureND<T>.buffer: Buffer<T>
bufferFactory
Link copied to clipboard
common
abstract val bufferFactory: BufferFactory<T>
elementContext
Link copied to clipboard
common
abstract val elementContext: A
The algebra over elements of ND structure.
shape
Link copied to clipboard
common
abstract val shape: IntArray
The shape of ND-structures this algebra operates on.
strides
Link copied to clipboard
common
abstract val strides: Strides

Inheritors

BufferedGroupND
Link copied to clipboard