BigIntField

Kotlin Multiplatform implementation of Big Integer numbers (KBigInteger).

Author

Robert Drynkin

Peter Klimai

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 override fun add(left: BigInt, right: BigInt): BigInt

Addition of two elements.

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

Dynamically invokes a binary operation with the certain name.

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

Dynamically dispatches a binary operation with the certain name.

Link copied to clipboard
open fun bindSymbol(value: String): BigInt

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): BigInt?

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 operator fun BigInt.div(arg: BigInt): BigInt

Division of two elements.

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

Division of this element by scalar.

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

Division of two elements.

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

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

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

Link copied to clipboard
open operator fun BigInt.minus(arg: BigInt): BigInt

Subtraction of two elements.

open operator fun Number.minus(other: BigInt): BigInt

Subtraction of number from element.

open operator fun BigInt.minus(other: Number): BigInt

Subtraction of element from number.

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

Multiplies two elements.

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

Wraps a number to T object.

Link copied to clipboard
open operator fun BigInt.plus(arg: BigInt): BigInt

Addition of two elements.

open operator fun Number.plus(other: BigInt): BigInt

Addition of scalar and element.

open operator fun BigInt.plus(other: Number): BigInt

Addition of element and scalar.

Link copied to clipboard
open fun power(arg: BigInt, pow: Int): BigInt

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

Raises arg to the integer power pow.

Link copied to clipboard
open fun rightSideNumberOperation(operation: String, left: BigInt, right: Number): BigInt

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

Link copied to clipboard
open fun rightSideNumberOperationFunction(operation: String): (left: BigInt, right: Number) -> BigInt

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

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

Scaling an element by a scalar.

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 operator fun BigInt.times(arg: BigInt): BigInt

Multiplies this element by scalar.

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

Multiplication of this number by element.

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

Multiplication of this element by a scalar.

Link copied to clipboard
operator fun String.unaryMinus(): BigInt

open operator override fun BigInt.unaryMinus(): BigInt

The negation of this element.

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

Dynamically invokes a unary operation with the certain name.

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

Dynamically dispatches a unary operation with the certain name.

Link copied to clipboard
operator fun String.unaryPlus(): BigInt

open operator fun BigInt.unaryPlus(): BigInt

Returns this value.

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
open override val one: BigInt

The neutral element of multiplication

Link copied to clipboard

The π mathematical constant.

Link copied to clipboard
open override val zero: BigInt

The neutral element of addition.