const class math::BigInt

sys::Obj
  math::BigInt

Source

Immutable arbitrary-precision integer.

abs

BigInt abs()

Source

Return the absolute value of this integer. If this value is positive then return this, otherwise return the negation.

and

BigInt and(Obj b)

Source

Bitwise-and of this and b.

bitLen

Int bitLen()

Source

Returns the number of bits in the minimal two's-complement representation of this BigInteger, excluding a sign bit.

clearBit

BigInt clearBit(Int b)

Source

Set the given bit to 0. Equivalent to this.and(1.shiftl(b).not).

compare

virtual override Int compare(Obj obj)

Source

Compare based on integer value.

decrement

@Operator
BigInt decrement()

Source

Decrement by one. Shortcut is --a or a--.

defVal

const static BigInt defVal

Source

Default value is 0.

div

@Operator
BigInt div(BigInt b)

Source

Divide this by b. Shortcut is a/b.

divInt

@Operator
BigInt divInt(Int b)

Source

Divide this by b. Shortcut is a/b.

equals

virtual override Bool equals(Obj? obj)

Source

Return true if same both represent that same integer value.

flipBit

BigInt flipBit(Int b)

Source

Flip the given bit between 0 and 1. Equivalent to this.xor(1.shiftl(b)).

fromStr

static new fromStr(Str s, Int radix := 10, Bool checked := true)

Source

Parse a Str into a BigInt using the specified radix. If invalid format and checked is false return null, otherwise throw ParseErr.

hash

virtual override Int hash()

Source

The hash for a BigInt is platform dependent.

increment

@Operator
BigInt increment()

Source

Increment by one. Shortcut is ++a or a++.

makeBuf

new makeBuf(Buf bytes)

Source

Translates a byte array containing the two's-complement binary representation of a BigInt into a BigInt.

makeInt

new makeInt(Int val)

Source

Returns a BigInt whose value is equal to that of the specified Int.

max

BigInt max(BigInt that)

Source

Return the larger of this and the specified BigInt values.

min

BigInt min(BigInt that)

Source

Return the smaller of this and the specified BigInt values.

minus

@Operator
BigInt minus(BigInt b)

Source

Subtract b from this. Shortcut is a-b.

minusInt

@Operator
BigInt minusInt(Int b)

Source

Subtract b from this. Shortcut is a-b.

mod

@Operator
BigInt mod(BigInt b)

Source

Return remainder of this divided by b. Shortcut is a%b.

modInt

@Operator
Int modInt(Int b)

Source

Return remainder of this divided by b. Shortcut is a%b.

mult

@Operator
BigInt mult(BigInt b)

Source

Multiply this with b. Shortcut is a*b.

multInt

@Operator
BigInt multInt(Int b)

Source

Multiply this with b. Shortcut is a*b.

negate

@Operator
BigInt negate()

Source

Negative of this. Shortcut is -a.

not

BigInt not()

Source

Bitwise not/inverse of this.

one

const static BigInt one

Source

or

BigInt or(Obj b)

Source

Bitwise-or of this and b.

plus

@Operator
BigInt plus(BigInt b)

Source

Add this with b. Shortcut is a+b.

plusInt

@Operator
BigInt plusInt(Int b)

Source

Add this with b. Shortcut is a+b.

pow

BigInt pow(Int pow)

Source

Return this value raised to the specified power. Throw ArgErr if pow is less than zero.

setBit

BigInt setBit(Int b)

Source

Set the given bit to 1. Equivalent to this.or(1.shiftl(b)).

shiftl

BigInt shiftl(Int b)

Source

Bitwise left shift of this by b. Negative values call shiftr instead.

shiftr

BigInt shiftr(Int b)

Source

Bitwise arithmetic right-shift of this by b. Note that this is similar to Int.shifta, not Int.shiftr. Sign extension is performed. Negative values call shiftl instead.

signum

Int signum()

Source

-1, 0, 1 if the BigInt is negative, zero, or positive.

testBit

Bool testBit(Int b)

Source

Return true if given bit is 1. Equivalent to this.and(1.shiftl(b)) != 0.

toBuf

Buf toBuf()

Source

Returns a byte array containing the two's-complement representation of this BigInt.

toDecimal

Decimal toDecimal()

Source

Convert the number to an Decimal.

This simply wraps the BigInt with Decimal with a 0 scale, equivilent mathematically to int * 2^0

toFloat

Float toFloat()

Source

Convert the number to an Float.

If the value is out-of-range, it will return Float.posInf or Float.negInf. Possible loss of precision is still possible, even if the value is finite.

toInt

Int toInt(Bool checked := true)

Source

Convert the number to an Int.

If the value is out-of-range and checked is true, an Err is thrown. Otherwise the value is truncated, with possible loss of sign.

toRadix

Str toRadix(Int radix, Int? width := null)

Source

Return string representation in given radix. If width is non-null, then leading zeros are prepended to ensure the specified width.

toStr

virtual override Str toStr()

Source

Return decimal string representation.

xor

BigInt xor(Obj b)

Source

Bitwise-exclusive-or of this and b.

zero

const static BigInt zero

Source