Constructors

Link copied to clipboard
constructor(size: Int)

Functions

Link copied to clipboard
fun <T : Comparable<T>> Group<T>.abs(value: T): T

Absolute of the comparable value

Link copied to clipboard
abstract fun acos(arg: Buffer<Double>): Buffer<Double>

Computes the inverse cosine of arg.

Link copied to clipboard
Link copied to clipboard
open override fun acosh(arg: Buffer<Double>): DoubleBuffer

Computes the inverse hyperbolic cosine of arg.

Link copied to clipboard
Link copied to clipboard
abstract fun add(left: Buffer<Double>, right: Buffer<Double>): Buffer<Double>

Addition of two elements.

Link copied to clipboard
abstract fun asin(arg: Buffer<Double>): Buffer<Double>

Computes the inverse sine of arg.

Link copied to clipboard
Link copied to clipboard
open override fun asinh(arg: Buffer<Double>): DoubleBuffer

Computes the inverse hyperbolic sine of arg.

Link copied to clipboard
Link copied to clipboard
abstract fun atan(arg: Buffer<Double>): Buffer<Double>

Computes the inverse tangent of arg.

Link copied to clipboard
Link copied to clipboard
open override fun atanh(arg: Buffer<Double>): DoubleBuffer

Computes the inverse hyperbolic tangent of arg.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline fun <T> DoubleBufferOps.averageOf(buffer: Buffer<T>, conversion: (T) -> Double): Double

Average of elements using given conversion

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

Dynamically invokes a binary operation with the certain name.

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

Dynamically dispatches a binary operation with the certain name.

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

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

Link copied to clipboard
fun <T> Algebra<T>.bindSymbol(symbol: Symbol): T
Link copied to clipboard
open fun bindSymbolOrNull(value: String): Buffer<Double>?

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

Link copied to clipboard
fun <T> Algebra<T>.bindSymbolOrNull(symbol: Symbol): T?
Link copied to clipboard
open fun buffer(size: Int, vararg elements: Double): Buffer<Double>
Link copied to clipboard
fun <T> BufferAlgebra<T, *>.buffer(size: Int, initializer: (Int) -> T): Buffer<T>
Link copied to clipboard
abstract fun cos(arg: Buffer<Double>): Buffer<Double>

Computes the cosine of arg.

Link copied to clipboard
Link copied to clipboard
open override fun cosh(arg: Buffer<Double>): DoubleBuffer

Computes the hyperbolic cosine of arg.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open operator fun Buffer<Double>.div(arg: Buffer<Double>): Buffer<Double>

Division of two elements.

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

Division of this element by scalar.

Link copied to clipboard
abstract fun divide(left: Buffer<Double>, right: Buffer<Double>): Buffer<Double>

Division of two elements.

Link copied to clipboard
abstract fun exp(arg: Buffer<Double>): Buffer<Double>

Computes Euler's number e raised to the power of the value arg.

Link copied to clipboard
Link copied to clipboard

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 leftSideNumberOperation(operation: String, left: Number, right: Buffer<Double>): Buffer<Double>

Dynamically invokes a binary operation with the certain name with numeric first argument.

Link copied to clipboard
open fun leftSideNumberOperationFunction(operation: String): (left: Number, right: Buffer<Double>) -> Buffer<Double>

Dynamically dispatches a binary operation with the certain name with numeric first argument.

Link copied to clipboard
abstract fun ln(arg: Buffer<Double>): Buffer<Double>

Computes the natural logarithm (base e) of the value arg.

Link copied to clipboard
Link copied to clipboard
inline override fun Buffer<Double>.map(block: DoubleField.(Double) -> Double): DoubleBuffer
Link copied to clipboard
inline override fun Buffer<Double>.mapIndexed(block: DoubleField.(index: Int, arg: Double) -> Double): DoubleBuffer
Link copied to clipboard
open operator fun Buffer<Double>.minus(arg: Buffer<Double>): Buffer<Double>

Subtraction of two elements.

Link copied to clipboard
abstract fun multiply(left: Buffer<Double>, right: Buffer<Double>): Buffer<Double>

Multiplies two elements.

Link copied to clipboard
open override fun norm(arg: Buffer<Double>): Double

Computes the norm of arg (i.e., absolute value or vector length).

Link copied to clipboard
open override fun number(value: Number): Buffer<Double>

Wraps a number to T object.

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

Addition of two elements.

Link copied to clipboard
fun <T, A : PowerOperations<T>> BufferAlgebra<T, A>.pow(arg: Buffer<T>, pow: Number): Buffer<T>

open infix fun Buffer<Double>.pow(pow: Number): Buffer<Double>

Raises this value to the power pow.

Link copied to clipboard
open override fun power(arg: Buffer<Double>, pow: Number): DoubleBuffer

Raises arg to a power if possible (negative number could not be raised to a fractional power). Throws IllegalArgumentException if not possible.

open fun power(arg: Buffer<Double>, pow: Int): Buffer<Double>

open fun power(arg: Buffer<Double>, pow: UInt): Buffer<Double>

Raises arg to the integer power pow.

Link copied to clipboard
open fun rightSideNumberOperation(operation: String, left: Buffer<Double>, right: Number): Buffer<Double>

Dynamically invokes a binary operation with the certain name with numeric second argument.

Link copied to clipboard
open override fun rightSideNumberOperationFunction(operation: String): (left: Buffer<Double>, right: Number) -> Buffer<Double>

Dynamically dispatches a binary operation with the certain name with numeric first argument.

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

Scaling an element by a scalar.

Link copied to clipboard
abstract fun sin(arg: Buffer<Double>): Buffer<Double>

Computes the sine of arg.

Link copied to clipboard
Link copied to clipboard
open override fun sinh(arg: Buffer<Double>): DoubleBuffer

Computes the hyperbolic sine of arg.

Link copied to clipboard
Link copied to clipboard
open fun sqrt(arg: Buffer<Double>): Buffer<Double>

Computes the square root of the value arg.

Link copied to clipboard
Link copied to clipboard

fun <T> Group<T>.sum(data: Iterable<T>): T
@PerformancePitfall(message = "Potential boxing access to buffer elements")
fun <T> Group<T>.sum(data: Buffer<T>): T

Returns the sum of all elements in the iterable in this Group.

fun <T> Group<T>.sum(data: Sequence<T>): T

Returns the sum of all elements in the sequence in this Group.

Link copied to clipboard
inline fun <T> DoubleBufferOps.sumOf(buffer: Buffer<T>, conversion: (T) -> Double): Double

Sum of elements using given conversion

Link copied to clipboard
open override fun tan(arg: Buffer<Double>): Buffer<Double>

Computes the tangent of arg.

Link copied to clipboard
Link copied to clipboard
open override fun tanh(arg: Buffer<Double>): DoubleBuffer

Computes the hyperbolic tangent of arg.

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

Multiplies this element by scalar.

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

Multiplication of this number by element.

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

Multiplication of this element by a scalar.

Link copied to clipboard
abstract operator fun Buffer<Double>.unaryMinus(): Buffer<Double>

The negation of this element.

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

Dynamically invokes a unary operation with the certain name.

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

Dynamically dispatches a unary operation with the certain name.

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

Returns this value.

Link copied to clipboard
inline override fun Buffer<Double>.zip(other: Buffer<Double>, block: DoubleField.(left: Double, right: Double) -> Double): DoubleBuffer

Properties

Link copied to clipboard

Provide a factory for buffers, associated with this Algebra

Link copied to clipboard
val <T> NumericAlgebra<T>.e: T

The e mathematical constant.

Link copied to clipboard
open override val elementAlgebra: DoubleField
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override val one: Buffer<Double>

The neutral element of multiplication

Link copied to clipboard

The π mathematical constant.

Link copied to clipboard
val size: Int

the size of buffers to operate on.

Link copied to clipboard
open override val zero: Buffer<Double>

The neutral element of addition.