BigInteger

class BigInteger : BigNumber<BigInteger> , CommonBigNumberOperations<BigInteger> , NarrowingOperations<BigInteger> , BitwiseCapable<BigInteger> , Comparable<Any> , ByteArraySerializable

Arbitrary precision integer arithmetic.

Based on unsigned arrays, currently limited to Int.MAX_VALUE words.

Constructors

Link copied to clipboard
constructor(long: Long)
constructor(int: Int)
constructor(short: Short)
constructor(byte: Byte)

Types

Link copied to clipboard
Link copied to clipboard
class BigIntegerRange(val start: BigInteger, val endInclusive: BigInteger) : ClosedRange<BigInteger> , Iterable<BigInteger>
Link copied to clipboard
data class QuotientAndRemainder(val quotient: BigInteger, val remainder: BigInteger)
Link copied to clipboard
data class SqareRootAndRemainder(val squareRoot: BigInteger, val remainder: BigInteger)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
open override fun abs(): BigInteger

Return absolute value of this big integer

Link copied to clipboard
open override fun add(other: BigInteger): BigInteger
Link copied to clipboard
open infix override fun and(other: BigInteger): BigInteger
Link copied to clipboard
open override fun bitAt(position: Long): Boolean
Link copied to clipboard
open override fun bitLength(): Int

Returns the number of bits needed to represent this number

Link copied to clipboard
open override fun byteValue(exactRequired: Boolean): Byte
Link copied to clipboard
fun compare(other: BigInteger): Int
Link copied to clipboard
fun compareDoubleAndBigInt(double: Double, comparisonBlock: (BigInteger) -> Int): Int
Link copied to clipboard
fun compareFloatAndBigInt(float: Float, comparisonBlock: (BigInteger) -> Int): Int
Link copied to clipboard
open operator override fun compareTo(other: Any): Int
Link copied to clipboard
operator fun dec(): BigInteger
Link copied to clipboard
open operator fun div(other: BigInteger): BigInteger
open operator fun div(byte: Byte): BigInteger
open operator fun div(int: Int): BigInteger
open operator fun div(long: Long): BigInteger
open operator fun div(short: Short): BigInteger
Link copied to clipboard
open override fun divide(other: BigInteger): BigInteger
Link copied to clipboard

Perform integer division and return quotient and remainder

Link copied to clipboard
Link copied to clipboard
open override fun doubleValue(exactRequired: Boolean): Double
Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
Link copied to clipboard
open override fun floatValue(exactRequired: Boolean): Float
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun getInstance(): BigInteger
Link copied to clipboard
fun getSign(): Sign
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
operator fun inc(): BigInteger
Link copied to clipboard
open override fun intValue(exactRequired: Boolean): Int
Link copied to clipboard
open override fun isZero(): Boolean
Link copied to clipboard
open override fun longValue(exactRequired: Boolean): Long
Link copied to clipboard
open operator fun minus(other: BigInteger): BigInteger
open operator fun minus(byte: Byte): BigInteger
open operator fun minus(int: Int): BigInteger
open operator fun minus(long: Long): BigInteger
open operator fun minus(short: Short): BigInteger
Link copied to clipboard
infix fun mod(modulo: BigInteger): BigInteger

Returns an always positive remainder of division operation

Link copied to clipboard
Link copied to clipboard
open override fun multiply(other: BigInteger): BigInteger
Link copied to clipboard
open override fun negate(): BigInteger

Return additive inverse of this number

Link copied to clipboard
open override fun not(): BigInteger

Inverts only up to chosen arithmetic bits. This is different from Java biginteger which returns inverse in two's complement.

Link copied to clipboard
open override fun numberOfDecimalDigits(): Long

Return the number of decimal digits representing this number

Link copied to clipboard
open infix override fun or(other: BigInteger): BigInteger

Returns a new BigInt with bits combining this, other doing a bitwise |/or operation. Forces sign to positive.

Link copied to clipboard
open operator fun plus(other: BigInteger): BigInteger
open operator fun plus(byte: Byte): BigInteger
open operator fun plus(int: Int): BigInteger
open operator fun plus(long: Long): BigInteger
open operator fun plus(short: Short): BigInteger
Link copied to clipboard
fun pow(exponent: BigInteger): BigInteger

open override fun pow(exponent: Int): BigInteger

Return result of exponentiation of this number by supplied integer exponent i.e.

open override fun pow(exponent: Long): BigInteger

Return result of exponentiation of this number by supplied long exponent i.e.

Link copied to clipboard
Link copied to clipboard
open operator fun rem(other: BigInteger): BigInteger

Remainder of integer division operation. Returns the least absolute remainder (remainder has same sign as dividend)

open operator fun rem(byte: Byte): BigInteger

Remainder of integer division operation. Remainder has same sign as dividend.

open operator fun rem(int: Int): BigInteger
open operator fun rem(long: Long): BigInteger
open operator fun rem(short: Short): BigInteger

Remainder of integer division operation. Remainder has same sign as dividend

Link copied to clipboard
open override fun remainder(other: BigInteger): BigInteger

Returns the remainder of division operation. Uses truncating division, which means that the sign of remainder will be same as sign of dividend

Link copied to clipboard
open override fun secureOverwrite()

Overwrite the underlying backing structure with zeroes. Meant to be used by libraries that require it for security purposes. NOTE: This breaks the immutability of BigNumber, and this instance cannot be used for further calculations. If it used the results are undefined.

Link copied to clipboard
open override fun setBitAt(position: Long, bit: Boolean): BigInteger
Link copied to clipboard
open infix override fun shl(places: Int): BigInteger
Link copied to clipboard
open override fun shortValue(exactRequired: Boolean): Short
Link copied to clipboard
open infix override fun shr(places: Int): BigInteger
Link copied to clipboard
open override fun signum(): Int
Link copied to clipboard
Link copied to clipboard
open override fun subtract(other: BigInteger): BigInteger
Link copied to clipboard
open operator fun times(other: BigInteger): BigInteger
open operator fun times(byte: Byte): BigInteger
open operator fun times(int: Int): BigInteger
open operator fun times(long: Long): BigInteger
open operator fun times(short: Short): BigInteger
operator fun times(char: Char): String
Link copied to clipboard
open override fun toByteArray(): ByteArray
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun toString(): String
open override fun toString(base: Int): String
Link copied to clipboard
open override fun toUByteArray(): UByteArray
Link copied to clipboard
open override fun ubyteValue(exactRequired: Boolean): UByte
Link copied to clipboard
open override fun uintValue(exactRequired: Boolean): UInt
Link copied to clipboard
open override fun ulongValue(exactRequired: Boolean): ULong
Link copied to clipboard
open operator override fun unaryMinus(): BigInteger
Link copied to clipboard
open override fun ushortValue(exactRequired: Boolean): UShort
Link copied to clipboard
open infix override fun xor(other: BigInteger): BigInteger