DoubleField

A field for Double without boxing. Does not produce appropriate field element.

Functions

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

Absolute of the comparable value

Link copied to clipboard
open inline override fun acos(arg: Double): Double

Computes the inverse cosine of arg.

Link copied to clipboard
open inline override fun acosh(arg: Double): Double

Computes the inverse hyperbolic cosine of arg.

Link copied to clipboard
open inline override fun add(left: Double, right: Double): Double

Addition of two elements.

Link copied to clipboard
open inline override fun asin(arg: Double): Double

Computes the inverse sine of arg.

Link copied to clipboard
open inline override fun asinh(arg: Double): Double

Computes the inverse hyperbolic sine of arg.

Link copied to clipboard
open inline override fun atan(arg: Double): Double

Computes the inverse tangent of arg.

Link copied to clipboard
open inline override fun atanh(arg: Double): Double

Computes the inverse hyperbolic tangent of arg.

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

Dynamically invokes a binary operation with the certain name.

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

Dynamically dispatches a binary operation with the certain name.

Link copied to clipboard
open fun bindSymbol(value: String): 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): 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 inline override fun cos(arg: Double): Double

Computes the cosine of arg.

Link copied to clipboard
open inline override fun cosh(arg: Double): Double

Computes the hyperbolic cosine of arg.

Link copied to clipboard
open inline operator override fun Double.div(arg: Double): Double

Division of two elements.

open operator fun Double.div(k: Number): Double

Division of this element by scalar.

Link copied to clipboard
open inline override fun divide(left: Double, right: Double): Double

Division of two elements.

Link copied to clipboard
open inline override fun exp(arg: Double): Double

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

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: Double): 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: Double) -> Double

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

Link copied to clipboard
open inline override fun ln(arg: Double): Double

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

Link copied to clipboard
open inline operator override fun Double.minus(arg: Double): Double

Subtraction of two elements.

Link copied to clipboard
open inline override fun multiply(left: Double, right: Double): Double

Multiplies two elements.

Link copied to clipboard
Link copied to clipboard
open inline override fun norm(arg: Double): Double

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

Link copied to clipboard
open inline override fun number(value: Number): Double

Wraps a number to T object.

Link copied to clipboard
open inline operator override fun Double.plus(arg: Double): Double

Addition of two elements.

Link copied to clipboard
open infix fun Double.pow(pow: Number): Double

Raises this value to the power pow.

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

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: Double, pow: Int): Double

open fun power(arg: Double, pow: UInt): Double

Raises arg to the integer power pow.

Link copied to clipboard
open fun rightSideNumberOperation(operation: String, left: Double, right: Number): 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: Double, right: Number) -> Double

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

Link copied to clipboard
open inline override fun scale(a: Double, value: Double): Double

Scaling an element by a scalar.

Link copied to clipboard
open inline override fun sin(arg: Double): Double

Computes the sine of arg.

Link copied to clipboard
open inline override fun sinh(arg: Double): Double

Computes the hyperbolic sine of arg.

Link copied to clipboard
open override fun sqrt(arg: Double): Double

Computes the square root of the value arg.

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
open inline override fun tan(arg: Double): Double

Computes the tangent of arg.

Link copied to clipboard
open inline override fun tanh(arg: Double): Double

Computes the hyperbolic tangent of arg.

Link copied to clipboard
open inline operator override fun Double.times(arg: Double): Double

Multiplies this element by scalar.

open operator fun Double.times(k: Number): Double

Multiplication of this element by a scalar.

open operator fun Number.times(arg: Double): Double

Multiplication of this number by element.

Link copied to clipboard
open inline operator override fun Double.unaryMinus(): Double

The negation of this element.

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

Dynamically invokes a unary operation with the certain name.

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

Dynamically dispatches a unary operation with the certain name.

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

Returns this value.

Link copied to clipboard
inline fun <R> DoubleField.withNdAlgebra(vararg shape: Int, action: DoubleFieldND.() -> R): R

Produce a context for n-dimensional operations inside this real field

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
Link copied to clipboard
Link copied to clipboard
open override val one: Double

The neutral element of multiplication

Link copied to clipboard

The π mathematical constant.

Link copied to clipboard
open override val zero: Double

The neutral element of addition.