Skip to main content

Int

This is an unbounded integer (like Haskell's Integer type).

Associated functions​

from_base58​

Decodes a String representing a base58 encoded Int.

Throws an error if the string contains an invalid character.

Int::from_base58(encoded: String) -> Int

from_big_endian​

Converts a ByteArray into an Int. The last byte is multiplied by 1 before adding to the sum, the second-to-last byte is multiplied by 256 etc.

The returned Int is always positive.

Int::from_big_endian(bytes: ByteArray) -> Int

from_data​

Int::from_data(data: Data) -> Int

from_little_endian​

Converts a ByteArray into an Int. The first byte is multiplied by 1 before adding to the sum, the second byte is multiplied by 256 etc.

The returned Int is always positive.

Int::from_little_endian(bytes: ByteArray) -> Int

max​

Returns the greater of two numbers.

Int::max(a: Int, b: Int) -> Int

min​

Returns the lesser of two numbers.

Int::min(a: Int, b: Int) -> Int

parse​

Parses a string representation of an integer of the form ((-)?[1-9][0-9]*)|0 (i.e. a non zero-padded integer). Throws an error if the string representation of the integer doesn't respect this format. Note that -0 isn't allowed, so zeros can only be represented by a single 0 digit.

Int::parse(string: String) -> Int

sqrt​

Calculates the square root of an integer. The result is truncated if it can't be represented by a whole number. Throws an error if the input number is negative.

Int::sqrt(a: Int) -> Int

Operators​

==

Int == Int -> Bool

!=​

Int != Int -> Bool

>=​

Int >= Int -> Bool

>​

Int > Int -> Bool

<=​

Int <= Int -> Bool

<​

Int < Int -> Bool

+​

Int + Int -> Int

-​

Int - Int -> Int

*​

Int * Int -> Int

/​

Int / Int -> Int

%​

Modulo operator that returns the remainder after division.

Int % Int -> Int

Methods​

abs​

Removes the sign, returning a positive Int.

int.abs() -> Int

bound​

Bounds an Int if it falls outside a range. This builtin function doesn't check if the range is sensible.

int.bound(low: Int, high: Int) -> Int

bound_min​

Bounds an Int to be greater or equals to a given minimum value.

int.bound_min(low: Int) -> Int

bound_max​

Bounds an Int to be less or equals to a given maximum value.

int.bound_max(high: Int) -> Int

decode_zigzag​

Decodes a zigzag encoded Int. Throws an error if the Int is negative.

unsigned_int.decode_zigzag() -> Int

encode_zigzag​

Applies zigzag encoding to the Int, returning a positive Int.

signed_int.encode_zigzag() -> Int

serialize​

int.serialize() -> ByteArray

show​

Returns decimal representation of integer.

int.show() -> String

to_base58​

Encodes the Int as a base58 String.

Throws an error if the Int is negative.

int.to_base58() -> String

to_big_endian​

Encodes the Int as a big endian ByteArray.

Throws an error if the Int is negative.

int.to_big_endian() -> ByteArray

to_bool​

Turns 0 into false, and any other integer into true.

int.to_bool() -> Bool

to_little_endian​

Encodes the Int as a little endian ByteArray.

Throws an error if the Int is negative.

int.to_little_endian() -> ByteArray

to_hex​

Returns the hexadecimal representation of the Int.

int.to_hex() -> String

to_real​

Converts the Int to the fixed point Real representation.

int.to_real() -> Real