struct Int128
Defined in:
big/number.crint.cr
primitives.cr
Constant Summary
-
MAX =
~MIN
-
MIN =
(new(1)) << 127
-
TODO eventually update to literals once UInt128 bit support is finished
Constructors
- .new(value : String, base : Int = 10, whitespace : Bool = true, underscore : Bool = false, prefix : Bool = false, strict : Bool = true, leading_zero_is_octal : Bool = false) : self
- .new(ctx : YAML::ParseContext, node : YAML::Nodes::Node)
- .new(pull : JSON::PullParser)
- .new(value) : self
- .new!(value) : self
Class Method Summary
Instance Method Summary
-
#!=(other : Int8) : Bool
Returns
true
ifself
is not equal to other. -
#!=(other : Int16) : Bool
Returns
true
ifself
is not equal to other. -
#!=(other : Int32) : Bool
Returns
true
ifself
is not equal to other. -
#!=(other : Int64) : Bool
Returns
true
ifself
is not equal to other. -
#!=(other : Int128) : Bool
Returns
true
ifself
is not equal to other. -
#!=(other : UInt8) : Bool
Returns
true
ifself
is not equal to other. -
#!=(other : UInt16) : Bool
Returns
true
ifself
is not equal to other. -
#!=(other : UInt32) : Bool
Returns
true
ifself
is not equal to other. -
#!=(other : UInt64) : Bool
Returns
true
ifself
is not equal to other. -
#!=(other : UInt128) : Bool
Returns
true
ifself
is not equal to other. -
#!=(other : Float32) : Bool
Returns
true
ifself
is not equal to other or ifself
and other are unordered. -
#!=(other : Float64) : Bool
Returns
true
ifself
is not equal to other or ifself
and other are unordered. -
#&(other : Int8) : self
Returns the result of performing a bitwise AND of
self
's and other's bits. -
#&(other : Int16) : self
Returns the result of performing a bitwise AND of
self
's and other's bits. -
#&(other : Int32) : self
Returns the result of performing a bitwise AND of
self
's and other's bits. -
#&(other : Int64) : self
Returns the result of performing a bitwise AND of
self
's and other's bits. -
#&(other : Int128) : self
Returns the result of performing a bitwise AND of
self
's and other's bits. -
#&(other : UInt8) : self
Returns the result of performing a bitwise AND of
self
's and other's bits. -
#&(other : UInt16) : self
Returns the result of performing a bitwise AND of
self
's and other's bits. -
#&(other : UInt32) : self
Returns the result of performing a bitwise AND of
self
's and other's bits. -
#&(other : UInt64) : self
Returns the result of performing a bitwise AND of
self
's and other's bits. -
#&(other : UInt128) : self
Returns the result of performing a bitwise AND of
self
's and other's bits. -
#&*(other : Int8) : self
Returns the result of multiplying
self
and other. -
#&*(other : Int16) : self
Returns the result of multiplying
self
and other. -
#&*(other : Int32) : self
Returns the result of multiplying
self
and other. -
#&*(other : Int64) : self
Returns the result of multiplying
self
and other. -
#&*(other : Int128) : self
Returns the result of multiplying
self
and other. -
#&*(other : UInt8) : self
Returns the result of multiplying
self
and other. -
#&*(other : UInt16) : self
Returns the result of multiplying
self
and other. -
#&*(other : UInt32) : self
Returns the result of multiplying
self
and other. -
#&*(other : UInt64) : self
Returns the result of multiplying
self
and other. -
#&*(other : UInt128) : self
Returns the result of multiplying
self
and other. -
#&+(other : Int8) : self
Returns the result of adding
self
and other. -
#&+(other : Int16) : self
Returns the result of adding
self
and other. -
#&+(other : Int32) : self
Returns the result of adding
self
and other. -
#&+(other : Int64) : self
Returns the result of adding
self
and other. -
#&+(other : Int128) : self
Returns the result of adding
self
and other. -
#&+(other : UInt8) : self
Returns the result of adding
self
and other. -
#&+(other : UInt16) : self
Returns the result of adding
self
and other. -
#&+(other : UInt32) : self
Returns the result of adding
self
and other. -
#&+(other : UInt64) : self
Returns the result of adding
self
and other. -
#&+(other : UInt128) : self
Returns the result of adding
self
and other. -
#&-(other : Int8) : self
Returns the result of subtracting
self
and other. -
#&-(other : Int16) : self
Returns the result of subtracting
self
and other. -
#&-(other : Int32) : self
Returns the result of subtracting
self
and other. -
#&-(other : Int64) : self
Returns the result of subtracting
self
and other. -
#&-(other : Int128) : self
Returns the result of subtracting
self
and other. -
#&-(other : UInt8) : self
Returns the result of subtracting
self
and other. -
#&-(other : UInt16) : self
Returns the result of subtracting
self
and other. -
#&-(other : UInt32) : self
Returns the result of subtracting
self
and other. -
#&-(other : UInt64) : self
Returns the result of subtracting
self
and other. -
#&-(other : UInt128) : self
Returns the result of subtracting
self
and other. -
#*(other : Int8) : self
Returns the result of multiplying
self
and other. -
#*(other : Int16) : self
Returns the result of multiplying
self
and other. -
#*(other : Int32) : self
Returns the result of multiplying
self
and other. -
#*(other : Int64) : self
Returns the result of multiplying
self
and other. -
#*(other : Int128) : self
Returns the result of multiplying
self
and other. -
#*(other : UInt8) : self
Returns the result of multiplying
self
and other. -
#*(other : UInt16) : self
Returns the result of multiplying
self
and other. -
#*(other : UInt32) : self
Returns the result of multiplying
self
and other. -
#*(other : UInt64) : self
Returns the result of multiplying
self
and other. -
#*(other : UInt128) : self
Returns the result of multiplying
self
and other. -
#*(other : Float32) : Float32
Returns the result of multiplying
self
and other. -
#*(other : Float64) : Float64
Returns the result of multiplying
self
and other. -
#+(other : Int8) : self
Returns the result of adding
self
and other. -
#+(other : Int16) : self
Returns the result of adding
self
and other. -
#+(other : Int32) : self
Returns the result of adding
self
and other. -
#+(other : Int64) : self
Returns the result of adding
self
and other. -
#+(other : Int128) : self
Returns the result of adding
self
and other. -
#+(other : UInt8) : self
Returns the result of adding
self
and other. -
#+(other : UInt16) : self
Returns the result of adding
self
and other. -
#+(other : UInt32) : self
Returns the result of adding
self
and other. -
#+(other : UInt64) : self
Returns the result of adding
self
and other. -
#+(other : UInt128) : self
Returns the result of adding
self
and other. -
#+(other : Float32) : Float32
Returns the result of adding
self
and other. -
#+(other : Float64) : Float64
Returns the result of adding
self
and other. -
#-(other : Int8) : self
Returns the result of subtracting
self
and other. -
#-(other : Int16) : self
Returns the result of subtracting
self
and other. -
#-(other : Int32) : self
Returns the result of subtracting
self
and other. -
#-(other : Int64) : self
Returns the result of subtracting
self
and other. -
#-(other : Int128) : self
Returns the result of subtracting
self
and other. -
#-(other : UInt8) : self
Returns the result of subtracting
self
and other. -
#-(other : UInt16) : self
Returns the result of subtracting
self
and other. -
#-(other : UInt32) : self
Returns the result of subtracting
self
and other. -
#-(other : UInt64) : self
Returns the result of subtracting
self
and other. -
#-(other : UInt128) : self
Returns the result of subtracting
self
and other. -
#-(other : Float32) : Float32
Returns the result of subtracting
self
and other. -
#-(other : Float64) : Float64
Returns the result of subtracting
self
and other. - #-
- #/(other : Int8) : Float64
- #/(other : UInt8) : Float64
- #/(other : Int16) : Float64
- #/(other : UInt16) : Float64
- #/(other : Int32) : Float64
- #/(other : UInt32) : Float64
- #/(other : Int64) : Float64
- #/(other : UInt64) : Float64
- #/(other : Int128) : Float64
- #/(other : UInt128) : Float64
- #/(other : Float32) : Float32
- #/(other : Float64) : Float64
- #/(other : BigInt) : BigFloat
- #/(other : BigDecimal) : BigDecimal
- #/(other : BigRational) : BigRational
-
#<(other : Int8) : Bool
Returns
true
ifself
is less than other. -
#<(other : Int16) : Bool
Returns
true
ifself
is less than other. -
#<(other : Int32) : Bool
Returns
true
ifself
is less than other. -
#<(other : Int64) : Bool
Returns
true
ifself
is less than other. -
#<(other : Int128) : Bool
Returns
true
ifself
is less than other. -
#<(other : UInt8) : Bool
Returns
true
ifself
is less than other. -
#<(other : UInt16) : Bool
Returns
true
ifself
is less than other. -
#<(other : UInt32) : Bool
Returns
true
ifself
is less than other. -
#<(other : UInt64) : Bool
Returns
true
ifself
is less than other. -
#<(other : UInt128) : Bool
Returns
true
ifself
is less than other. -
#<(other : Float32) : Bool
Returns
true
ifself
is less than other. -
#<(other : Float64) : Bool
Returns
true
ifself
is less than other. -
#<=(other : Int8) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : Int16) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : Int32) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : Int64) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : Int128) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : UInt8) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : UInt16) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : UInt32) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : UInt64) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : UInt128) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : Float32) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : Float64) : Bool
Returns
true
ifself
is less than or equal to other. -
#==(other : Int8) : Bool
Returns
true
ifself
is equal to other. -
#==(other : Int16) : Bool
Returns
true
ifself
is equal to other. -
#==(other : Int32) : Bool
Returns
true
ifself
is equal to other. -
#==(other : Int64) : Bool
Returns
true
ifself
is equal to other. -
#==(other : Int128) : Bool
Returns
true
ifself
is equal to other. -
#==(other : UInt8) : Bool
Returns
true
ifself
is equal to other. -
#==(other : UInt16) : Bool
Returns
true
ifself
is equal to other. -
#==(other : UInt32) : Bool
Returns
true
ifself
is equal to other. -
#==(other : UInt64) : Bool
Returns
true
ifself
is equal to other. -
#==(other : UInt128) : Bool
Returns
true
ifself
is equal to other. -
#==(other : Float32) : Bool
Returns
true
ifself
is equal to other. -
#==(other : Float64) : Bool
Returns
true
ifself
is equal to other. -
#>(other : Int8) : Bool
Returns
true
ifself
is greater than other. -
#>(other : Int16) : Bool
Returns
true
ifself
is greater than other. -
#>(other : Int32) : Bool
Returns
true
ifself
is greater than other. -
#>(other : Int64) : Bool
Returns
true
ifself
is greater than other. -
#>(other : Int128) : Bool
Returns
true
ifself
is greater than other. -
#>(other : UInt8) : Bool
Returns
true
ifself
is greater than other. -
#>(other : UInt16) : Bool
Returns
true
ifself
is greater than other. -
#>(other : UInt32) : Bool
Returns
true
ifself
is greater than other. -
#>(other : UInt64) : Bool
Returns
true
ifself
is greater than other. -
#>(other : UInt128) : Bool
Returns
true
ifself
is greater than other. -
#>(other : Float32) : Bool
Returns
true
ifself
is greater than other. -
#>(other : Float64) : Bool
Returns
true
ifself
is greater than other. -
#>=(other : Int8) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : Int16) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : Int32) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : Int64) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : Int128) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : UInt8) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : UInt16) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : UInt32) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : UInt64) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : UInt128) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : Float32) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : Float64) : Bool
Returns
true
ifself
is greater than or equal to other. -
#^(other : Int8) : self
Returns the result of performing a bitwise XOR of
self
's and other's bits. -
#^(other : Int16) : self
Returns the result of performing a bitwise XOR of
self
's and other's bits. -
#^(other : Int32) : self
Returns the result of performing a bitwise XOR of
self
's and other's bits. -
#^(other : Int64) : self
Returns the result of performing a bitwise XOR of
self
's and other's bits. -
#^(other : Int128) : self
Returns the result of performing a bitwise XOR of
self
's and other's bits. -
#^(other : UInt8) : self
Returns the result of performing a bitwise XOR of
self
's and other's bits. -
#^(other : UInt16) : self
Returns the result of performing a bitwise XOR of
self
's and other's bits. -
#^(other : UInt32) : self
Returns the result of performing a bitwise XOR of
self
's and other's bits. -
#^(other : UInt64) : self
Returns the result of performing a bitwise XOR of
self
's and other's bits. -
#^(other : UInt128) : self
Returns the result of performing a bitwise XOR of
self
's and other's bits. -
#|(other : Int8) : self
Returns the result of performing a bitwise OR of
self
's and other's bits. -
#|(other : Int16) : self
Returns the result of performing a bitwise OR of
self
's and other's bits. -
#|(other : Int32) : self
Returns the result of performing a bitwise OR of
self
's and other's bits. -
#|(other : Int64) : self
Returns the result of performing a bitwise OR of
self
's and other's bits. -
#|(other : Int128) : self
Returns the result of performing a bitwise OR of
self
's and other's bits. -
#|(other : UInt8) : self
Returns the result of performing a bitwise OR of
self
's and other's bits. -
#|(other : UInt16) : self
Returns the result of performing a bitwise OR of
self
's and other's bits. -
#|(other : UInt32) : self
Returns the result of performing a bitwise OR of
self
's and other's bits. -
#|(other : UInt64) : self
Returns the result of performing a bitwise OR of
self
's and other's bits. -
#|(other : UInt128) : self
Returns the result of performing a bitwise OR of
self
's and other's bits. -
#abs_unsigned : UInt128
Returns the absolute value of
self
as an unsigned value of the same size. -
#bit_reverse : self
Reverses the bits of
self
; the least significant bit becomes the most significant, and vice-versa. -
#byte_swap : self
Swaps the bytes of
self
; a little-endian value becomes a big-endian value, and vice-versa. - #clone
-
#leading_zeros_count
Returns the number of leading
0
-bits. -
#neg_signed : self
Returns the negative of
self
as a signed value of the same size. -
#popcount
Counts
1
-bits in the binary representation of this integer. -
#rotate_left(n : Int) : self
Returns the bitwise rotation of
self
n times in the most significant bit's direction. -
#rotate_right(n : Int) : self
Returns the bitwise rotation of
self
n times in the least significant bit's direction. -
#to_f : Float64
Returns
self
converted toFloat64
. -
#to_f! : Float64
Returns
self
converted toFloat64
. -
#to_f32 : Float32
Returns
self
converted toFloat32
. -
#to_f32! : Float32
Returns
self
converted toFloat32
. -
#to_f64 : Float64
Returns
self
converted toFloat64
. -
#to_f64! : Float64
Returns
self
converted toFloat64
. -
#to_i : Int32
Returns
self
converted toInt32
. -
#to_i! : Int32
Returns
self
converted toInt32
. -
#to_i128 : Int128
Returns
self
converted toInt128
. -
#to_i128! : Int128
Returns
self
converted toInt128
. -
#to_i16 : Int16
Returns
self
converted toInt16
. -
#to_i16! : Int16
Returns
self
converted toInt16
. -
#to_i32 : Int32
Returns
self
converted toInt32
. -
#to_i32! : Int32
Returns
self
converted toInt32
. -
#to_i64 : Int64
Returns
self
converted toInt64
. -
#to_i64! : Int64
Returns
self
converted toInt64
. -
#to_i8 : Int8
Returns
self
converted toInt8
. -
#to_i8! : Int8
Returns
self
converted toInt8
. -
#to_signed : Int128
Returns
self
converted to a signed value of the same size. -
#to_signed! : Int128
Returns
self
converted to a signed value of the same size, wrapping in case of overflow. -
#to_u : UInt32
Returns
self
converted toUInt32
. -
#to_u! : UInt32
Returns
self
converted toUInt32
. -
#to_u128 : UInt128
Returns
self
converted toUInt128
. -
#to_u128! : UInt128
Returns
self
converted toUInt128
. -
#to_u16 : UInt16
Returns
self
converted toUInt16
. -
#to_u16! : UInt16
Returns
self
converted toUInt16
. -
#to_u32 : UInt32
Returns
self
converted toUInt32
. -
#to_u32! : UInt32
Returns
self
converted toUInt32
. -
#to_u64 : UInt64
Returns
self
converted toUInt64
. -
#to_u64! : UInt64
Returns
self
converted toUInt64
. -
#to_u8 : UInt8
Returns
self
converted toUInt8
. -
#to_u8! : UInt8
Returns
self
converted toUInt8
. -
#to_unsigned : UInt128
Returns
self
converted to an unsigned value of the same size. -
#to_unsigned! : UInt128
Returns
self
converted to an unsigned value of the same size, wrapping in case of overflow. -
#trailing_zeros_count
Returns the number of trailing
0
-bits. -
#unsafe_chr : Char
Returns a
Char
that has the unicode codepoint ofself
, without checking if this integer is in the range valid for chars (0..0xd7ff
and0xe000..0x10ffff
).
Instance methods inherited from struct Int
%(other : BigInt) : BigInt%(other : Int) %, &*(other : BigInt) : BigInt &*, &**(exponent : Int) : self &**, &+(other : BigInt) : BigInt &+, &-(other : BigInt) : BigInt &-, *(other : BigInt) : BigInt
*(other : BigRational) : BigRational
*(other : BigDecimal) : BigDecimal *, **(exponent : Int) : self
**(exponent : Float) : Float64 **, +(other : BigInt) : BigInt
+(other : BigRational) : BigRational
+(other : BigDecimal) : BigDecimal +, -(other : BigInt) : BigInt
-(other : BigFloat) : BigFloat
-(other : BigRational) : BigRational
-(other : BigDecimal) : BigDecimal -, /(other : BigFloat) : BigFloat
/(other : BigRational) /, //(other : Int::Primitive) //, <<(count : Int) <<, <=>(other : BigInt)
<=>(other : Int) : Int32
<=>(other : BigFloat)
<=>(other : BigRational)
<=>(other : BigDecimal) <=>, ===(char : Char) ===, >>(count : Int) >>, ~ ~, abs : self abs, bit(bit) bit, bit_length : Int32 bit_length, bits(range : Range) bits, bits_set?(mask) : Bool bits_set?, ceil : self ceil, chr : Char chr, day : Time::Span day, days : Time::Span days, digits(base = 10) : Array(Int32) digits, divisible_by?(num) : Bool divisible_by?, downto(to, &block : self -> ) : Nil
downto(to) downto, even? : Bool even?, fdiv(other) : Float64 fdiv, floor : self floor, gcd(other : self) : self
gcd(other : BigInt) : Int gcd, hour : Time::Span hour, hours : Time::Span hours, humanize_bytes(io : IO, precision : Int = 3, separator = '.', *, significant : Bool = true, unit_separator = nil, format : BinaryPrefixFormat = :IEC) : Nil
humanize_bytes(precision : Int = 3, separator = '.', *, significant : Bool = true, unit_separator = nil, format : BinaryPrefixFormat = :IEC) : String humanize_bytes, integer? : Bool integer?, lcm(other : BigInt) : BigInt
lcm(other : Int) lcm, microsecond : Time::Span microsecond, microseconds : Time::Span microseconds, millisecond : Time::Span millisecond, milliseconds : Time::Span milliseconds, minute : Time::Span minute, minutes : Time::Span minutes, modulo(other) modulo, month : Time::MonthSpan month, months : Time::MonthSpan months, nanosecond : Time::Span nanosecond, nanoseconds : Time::Span nanoseconds, odd? : Bool odd?, popcount popcount, pred : self pred, remainder(other : Int) remainder, round(mode : RoundingMode) : self round, round_away round_away, round_even : self round_even, second : Time::Span second, seconds : Time::Span seconds, succ : self succ, tdiv(other : Int) tdiv, times(&block : self -> ) : Nil
times times, to(to, &block : self -> ) : Nil
to(to) to, to_big_d : BigDecimal to_big_d, to_big_i : BigInt to_big_i, to_big_r : BigRational to_big_r, to_io(io : IO, format : IO::ByteFormat) : Nil to_io, to_json(json : JSON::Builder) : Nil to_json, to_json_object_key : String to_json_object_key, to_s(io : IO, base : Int = 10, *, precision : Int = 1, upcase : Bool = false) : Nil
to_s(base : Int = 10, *, precision : Int = 1, upcase : Bool = false) : String to_s, trailing_zeros_count trailing_zeros_count, trunc : self trunc, upto(to, &block : self -> ) : Nil
upto(to) upto, week : Time::Span week, weeks : Time::Span weeks, year : Time::MonthSpan year, years : Time::MonthSpan years
Constructor methods inherited from struct Int
from_io(io : IO, format : IO::ByteFormat) : self
from_io
Instance methods inherited from module Comparable(BigDecimal)
<(other : T) : Bool
<,
<=(other : T)
<=,
<=>(other : T)
<=>,
==(other : T)
==,
>(other : T) : Bool
>,
>=(other : T)
>=,
clamp(min, max)clamp(range : Range) clamp
Instance methods inherited from module Comparable(BigRational)
<(other : T) : Bool
<,
<=(other : T)
<=,
<=>(other : T)
<=>,
==(other : T)
==,
>(other : T) : Bool
>,
>=(other : T)
>=,
clamp(min, max)clamp(range : Range) clamp
Instance methods inherited from module Comparable(BigInt)
<(other : T) : Bool
<,
<=(other : T)
<=,
<=>(other : T)
<=>,
==(other : T)
==,
>(other : T) : Bool
>,
>=(other : T)
>=,
clamp(min, max)clamp(range : Range) clamp
Instance methods inherited from struct Number
*(other : BigFloat) : BigFloat*(other : Complex) : Complex *, +(other : BigFloat)
+(other : Complex) : Complex
+ +, -(other : BigFloat)
-(other : Complex) : Complex -, /(other : BigFloat) : BigFloat
/(other : Complex) : Complex /, //(other) //, <=>(other) : Int32 | Nil <=>, ==(other : Complex) ==, abs : self abs, abs2 abs2, cis : Complex cis, divmod(number) divmod, format(io : IO, separator = '.', delimiter = ',', decimal_places : Int | Nil = nil, *, group : Int = 3, only_significant : Bool = false) : Nil
format(separator = '.', delimiter = ',', decimal_places : Int | Nil = nil, *, group : Int = 3, only_significant : Bool = false) : String format, hash(hasher) hash, humanize(io : IO, precision = 3, separator = '.', delimiter = ',', *, base = 10 ** 3, significant = true, unit_separator = nil, prefixes : Indexable = SI_PREFIXES) : Nil
humanize(io : IO, precision = 3, separator = '.', delimiter = ',', *, base = 10 ** 3, significant = true, unit_separator = nil, prefixes : Proc) : Nil
humanize(precision = 3, separator = '.', delimiter = ',', *, base = 10 ** 3, significant = true, unit_separator = nil, prefixes = SI_PREFIXES) : String
humanize(io : IO, precision = 3, separator = '.', delimiter = ',', *, base = 10 ** 3, significant = true, unit_separator = nil, &prefixes : Int32, Float64 -> Tuple(Int32, _) | Tuple(Int32, _, Bool)) : Nil
humanize(precision = 3, separator = '.', delimiter = ',', *, base = 10 ** 3, significant = true, unit_separator = nil, &) : String
humanize(precision = 3, separator = '.', delimiter = ',', *, base = 10 ** 3, significant = true, unit_separator = nil, prefixes : Proc) : String humanize, i : Complex i, integer? : Bool integer?, negative? : Bool negative?, positive? : Bool positive?, round(mode : RoundingMode = :ties_even) : self
round(digits : Number, base = 10, *, mode : RoundingMode = :ties_even) round, sign : Int32 sign, significant(digits, base = 10) significant, step(*, to limit = nil, exclusive : Bool = false, &) : Nil
step(*, to limit = nil, exclusive : Bool = false) step, to_big_f : BigFloat to_big_f, to_c : Complex to_c, to_yaml(yaml : YAML::Nodes::Builder) : Nil to_yaml, zero? : Bool zero?
Constructor methods inherited from struct Number
additive_identity : self
additive_identity,
multiplicative_identity : self
multiplicative_identity,
zero : self
zero
Class methods inherited from struct Number
si_prefix(magnitude : Int, prefixes = SI_PREFIXES) : Char | Nil
si_prefix
Macros inherited from struct Number
[](*nums)
[],
slice(*nums, read_only = false)
slice,
static_array(*nums)
static_array
Instance methods inherited from module Comparable(BigFloat)
<(other : T) : Bool
<,
<=(other : T)
<=,
<=>(other : T)
<=>,
==(other : T)
==,
>(other : T) : Bool
>,
>=(other : T)
>=,
clamp(min, max)clamp(range : Range) clamp
Instance methods inherited from module Steppable
step(*, to limit = nil, by step, exclusive : Bool = false, &) : Nilstep(*, to limit = nil, by step, exclusive : Bool = false) step
Instance methods inherited from module Comparable(Number)
<(other : T) : Bool
<,
<=(other : T)
<=,
<=>(other : T)
<=>,
==(other : T)
==,
>(other : T) : Bool
>,
>=(other : T)
>=,
clamp(min, max)clamp(range : Range) clamp
Instance methods inherited from struct Value
==(other : JSON::Any)==(other : YAML::Any)
==(other) ==, dup dup
Instance methods inherited from class Object
! : Bool
!,
!=(other)
!=,
!~(other)
!~,
==(other)
==,
===(other : JSON::Any)===(other : YAML::Any)
===(other) ===, =~(other) =~, as(type : Class) as, as?(type : Class) as?, class class, dup dup, hash(hasher)
hash hash, in?(collection : Object) : Bool
in?(*values : Object) : Bool in?, inspect(io : IO) : Nil
inspect : String inspect, is_a?(type : Class) : Bool is_a?, itself itself, nil? : Bool nil?, not_nil!(message)
not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, responds_to?(name : Symbol) : Bool responds_to?, tap(&) tap, to_json(io : IO) : Nil
to_json : String to_json, to_pretty_json(indent : String = " ") : String
to_pretty_json(io : IO, indent : String = " ") : Nil to_pretty_json, to_s(io : IO) : Nil
to_s : String to_s, to_yaml(io : IO) : Nil
to_yaml : String to_yaml, try(&) try, unsafe_as(type : T.class) forall T unsafe_as
Class methods inherited from class Object
from_json(string_or_io, root : String)from_json(string_or_io) from_json, from_yaml(string_or_io : String | IO) from_yaml
Macros inherited from class Object
class_getter(*names, &block)
class_getter,
class_getter!(*names)
class_getter!,
class_getter?(*names, &block)
class_getter?,
class_property(*names, &block)
class_property,
class_property!(*names)
class_property!,
class_property?(*names, &block)
class_property?,
class_setter(*names)
class_setter,
def_clone
def_clone,
def_equals(*fields)
def_equals,
def_equals_and_hash(*fields)
def_equals_and_hash,
def_hash(*fields)
def_hash,
delegate(*methods, to object)
delegate,
forward_missing_to(delegate)
forward_missing_to,
getter(*names, &block)
getter,
getter!(*names)
getter!,
getter?(*names, &block)
getter?,
property(*names, &block)
property,
property!(*names)
property!,
property?(*names, &block)
property?,
setter(*names)
setter
Constructor Detail
Returns an Int128
by invoking #to_i128
on value.
See String#to_i
for more details.
Int128.new "20" # => 20
Int128.new " 20 ", whitespace: false # raises ArgumentError: Invalid Int128: " 20 "
Class Method Detail
Instance Method Detail
Returns true
if self
is not equal to other
or if self
and other are unordered.
Returns true
if self
is not equal to other
or if self
and other are unordered.
Returns the result of performing a bitwise AND of self
's and other's bits.
Returns the result of performing a bitwise AND of self
's and other's bits.
Returns the result of performing a bitwise AND of self
's and other's bits.
Returns the result of performing a bitwise AND of self
's and other's bits.
Returns the result of performing a bitwise AND of self
's and other's bits.
Returns the result of performing a bitwise AND of self
's and other's bits.
Returns the result of performing a bitwise AND of self
's and other's bits.
Returns the result of performing a bitwise AND of self
's and other's bits.
Returns the result of performing a bitwise AND of self
's and other's bits.
Returns the result of performing a bitwise AND of self
's and other's bits.
Returns the result of multiplying self
and other.
In case of overflow a wrapping is performed.
Returns the result of multiplying self
and other.
In case of overflow a wrapping is performed.
Returns the result of multiplying self
and other.
In case of overflow a wrapping is performed.
Returns the result of multiplying self
and other.
In case of overflow a wrapping is performed.
Returns the result of multiplying self
and other.
In case of overflow a wrapping is performed.
Returns the result of multiplying self
and other.
In case of overflow a wrapping is performed.
Returns the result of multiplying self
and other.
In case of overflow a wrapping is performed.
Returns the result of multiplying self
and other.
In case of overflow a wrapping is performed.
Returns the result of multiplying self
and other.
In case of overflow a wrapping is performed.
Returns the result of multiplying self
and other.
In case of overflow a wrapping is performed.
Returns the result of adding self
and other.
In case of overflow a wrapping is performed.
Returns the result of adding self
and other.
In case of overflow a wrapping is performed.
Returns the result of adding self
and other.
In case of overflow a wrapping is performed.
Returns the result of adding self
and other.
In case of overflow a wrapping is performed.
Returns the result of adding self
and other.
In case of overflow a wrapping is performed.
Returns the result of adding self
and other.
In case of overflow a wrapping is performed.
Returns the result of adding self
and other.
In case of overflow a wrapping is performed.
Returns the result of adding self
and other.
In case of overflow a wrapping is performed.
Returns the result of adding self
and other.
In case of overflow a wrapping is performed.
Returns the result of adding self
and other.
In case of overflow a wrapping is performed.
Returns the result of subtracting self
and other.
In case of overflow a wrapping is performed.
Returns the result of subtracting self
and other.
In case of overflow a wrapping is performed.
Returns the result of subtracting self
and other.
In case of overflow a wrapping is performed.
Returns the result of subtracting self
and other.
In case of overflow a wrapping is performed.
Returns the result of subtracting self
and other.
In case of overflow a wrapping is performed.
Returns the result of subtracting self
and other.
In case of overflow a wrapping is performed.
Returns the result of subtracting self
and other.
In case of overflow a wrapping is performed.
Returns the result of subtracting self
and other.
In case of overflow a wrapping is performed.
Returns the result of subtracting self
and other.
In case of overflow a wrapping is performed.
Returns the result of subtracting self
and other.
In case of overflow a wrapping is performed.
Returns the result of multiplying self
and other.
Raises OverflowError
in case of overflow.
Returns the result of multiplying self
and other.
Raises OverflowError
in case of overflow.
Returns the result of multiplying self
and other.
Raises OverflowError
in case of overflow.
Returns the result of multiplying self
and other.
Raises OverflowError
in case of overflow.
Returns the result of multiplying self
and other.
Raises OverflowError
in case of overflow.
Returns the result of multiplying self
and other.
Raises OverflowError
in case of overflow.
Returns the result of multiplying self
and other.
Raises OverflowError
in case of overflow.
Returns the result of multiplying self
and other.
Raises OverflowError
in case of overflow.
Returns the result of multiplying self
and other.
Raises OverflowError
in case of overflow.
Returns the result of multiplying self
and other.
Raises OverflowError
in case of overflow.
Returns the result of adding self
and other.
Raises OverflowError
in case of overflow.
Returns the result of adding self
and other.
Raises OverflowError
in case of overflow.
Returns the result of adding self
and other.
Raises OverflowError
in case of overflow.
Returns the result of adding self
and other.
Raises OverflowError
in case of overflow.
Returns the result of adding self
and other.
Raises OverflowError
in case of overflow.
Returns the result of adding self
and other.
Raises OverflowError
in case of overflow.
Returns the result of adding self
and other.
Raises OverflowError
in case of overflow.
Returns the result of adding self
and other.
Raises OverflowError
in case of overflow.
Returns the result of adding self
and other.
Raises OverflowError
in case of overflow.
Returns the result of adding self
and other.
Raises OverflowError
in case of overflow.
Returns the result of subtracting self
and other.
Raises OverflowError
in case of overflow.
Returns the result of subtracting self
and other.
Raises OverflowError
in case of overflow.
Returns the result of subtracting self
and other.
Raises OverflowError
in case of overflow.
Returns the result of subtracting self
and other.
Raises OverflowError
in case of overflow.
Returns the result of subtracting self
and other.
Raises OverflowError
in case of overflow.
Returns the result of subtracting self
and other.
Raises OverflowError
in case of overflow.
Returns the result of subtracting self
and other.
Raises OverflowError
in case of overflow.
Returns the result of subtracting self
and other.
Raises OverflowError
in case of overflow.
Returns the result of subtracting self
and other.
Raises OverflowError
in case of overflow.
Returns the result of subtracting self
and other.
Raises OverflowError
in case of overflow.
Returns true
if self
is greater than or equal to other.
Returns true
if self
is greater than or equal to other.
Returns true
if self
is greater than or equal to other.
Returns true
if self
is greater than or equal to other.
Returns true
if self
is greater than or equal to other.
Returns true
if self
is greater than or equal to other.
Returns true
if self
is greater than or equal to other.
Returns true
if self
is greater than or equal to other.
Returns true
if self
is greater than or equal to other.
Returns true
if self
is greater than or equal to other.
Returns true
if self
is greater than or equal to other.
Returns the result of performing a bitwise XOR of self
's and other's bits.
Returns the result of performing a bitwise XOR of self
's and other's bits.
Returns the result of performing a bitwise XOR of self
's and other's bits.
Returns the result of performing a bitwise XOR of self
's and other's bits.
Returns the result of performing a bitwise XOR of self
's and other's bits.
Returns the result of performing a bitwise XOR of self
's and other's bits.
Returns the result of performing a bitwise XOR of self
's and other's bits.
Returns the result of performing a bitwise XOR of self
's and other's bits.
Returns the result of performing a bitwise XOR of self
's and other's bits.
Returns the result of performing a bitwise XOR of self
's and other's bits.
Returns the result of performing a bitwise OR of self
's and other's bits.
Returns the result of performing a bitwise OR of self
's and other's bits.
Returns the result of performing a bitwise OR of self
's and other's bits.
Returns the result of performing a bitwise OR of self
's and other's bits.
Returns the result of performing a bitwise OR of self
's and other's bits.
Returns the result of performing a bitwise OR of self
's and other's bits.
Returns the result of performing a bitwise OR of self
's and other's bits.
Returns the result of performing a bitwise OR of self
's and other's bits.
Returns the result of performing a bitwise OR of self
's and other's bits.
Returns the result of performing a bitwise OR of self
's and other's bits.
Returns the absolute value of self
as an unsigned value of the same size.
Returns self
if self
is already an Int::Unsigned
. This method never
overflows.
1_u32.abs_unsigned # => 1_u32
2_i32.abs_unsigned # => 2_u32
-3_i8.abs_unsigned # => 3_u8
Int16::MIN.abs_unsigned # => 32768_u16
Reverses the bits of self
; the least significant bit becomes the most
significant, and vice-versa.
0b01001011_u8.bit_reverse # => 0b11010010
0b1100100001100111_u16.bit_reverse # => 0b1110011000010011
Swaps the bytes of self
; a little-endian value becomes a big-endian value,
and vice-versa. The bit order within each byte is unchanged.
Has no effect on 8-bit integers.
0x123456789_i128.byte_swap # => -0x7698badcff0000000000000000000000
Returns the negative of self
as a signed value of the same size.
Returns -self
if self
is already an Int::Signed
. Raises
OverflowError
in case of overflow.
1_i32.neg_signed # => -1_i32
2_u16.neg_signed # => -2_i16
128_u8.neg_signed # => -128_i8
Int16::MIN.neg_signed # raises OverflowError
Counts 1
-bits in the binary representation of this integer.
5.popcount # => 2
-15.popcount # => 29
Returns the bitwise rotation of self
n times in the most significant
bit's direction. Negative shifts are equivalent to #rotate_right(-n)
.
0b01001101_u8.rotate_left(3) # => 0b01101010
0b01001101_u8.rotate_left(8) # => 0b01001101
0b01001101_u8.rotate_left(11) # => 0b01101010
0b01001101_u8.rotate_left(-1) # => 0b10100110
Returns the bitwise rotation of self
n times in the least significant
bit's direction. Negative shifts are equivalent to #rotate_left(-n)
.
0b01001101_u8.rotate_right(3) # => 0b10101001
0b01001101_u8.rotate_right(8) # => 0b01001101
0b01001101_u8.rotate_right(11) # => 0b10101001
0b01001101_u8.rotate_right(-1) # => 0b10011010
Returns self
converted to Float64
.
Raises OverflowError
in case of overflow.
Returns self
converted to Float64
.
In case of overflow
a wrapping is performed.
Returns self
converted to Float32
.
Raises OverflowError
in case of overflow.
Returns self
converted to Float32
.
In case of overflow
a wrapping is performed.
Returns self
converted to Float64
.
Raises OverflowError
in case of overflow.
Returns self
converted to Float64
.
In case of overflow
a wrapping is performed.
Returns self
converted to Int32
.
Raises OverflowError
in case of overflow.
Returns self
converted to Int32
.
In case of overflow
a wrapping is performed.
Returns self
converted to Int128
.
Raises OverflowError
in case of overflow.
Returns self
converted to Int128
.
In case of overflow
a wrapping is performed.
Returns self
converted to Int16
.
Raises OverflowError
in case of overflow.
Returns self
converted to Int16
.
In case of overflow
a wrapping is performed.
Returns self
converted to Int32
.
Raises OverflowError
in case of overflow.
Returns self
converted to Int32
.
In case of overflow
a wrapping is performed.
Returns self
converted to Int64
.
Raises OverflowError
in case of overflow.
Returns self
converted to Int64
.
In case of overflow
a wrapping is performed.
Returns self
converted to Int8
.
Raises OverflowError
in case of overflow.
Returns self
converted to Int8
.
In case of overflow
a wrapping is performed.
Returns self
converted to a signed value of the same size.
Simply returns self
unmodified if self
is already an Int::Signed
.
Raises OverflowError
in case of overflow.
1_u32.to_signed # => 1_i32
2_u16.to_signed # => 2_i16
3_i64.to_signed # => 3_i64
Returns self
converted to a signed value of the same size, wrapping in
case of overflow.
Simply returns self
unmodified if self
is already an Int::Signed
.
1_u32.to_signed! # => 1_i32
65530_u16.to_signed! # => -6_i16
3_i64.to_signed! # => 3_i64
Returns self
converted to UInt32
.
Raises OverflowError
in case of overflow.
Returns self
converted to UInt32
.
In case of overflow
a wrapping is performed.
Returns self
converted to UInt128
.
Raises OverflowError
in case of overflow.
Returns self
converted to UInt128
.
In case of overflow
a wrapping is performed.
Returns self
converted to UInt16
.
Raises OverflowError
in case of overflow.
Returns self
converted to UInt16
.
In case of overflow
a wrapping is performed.
Returns self
converted to UInt32
.
Raises OverflowError
in case of overflow.
Returns self
converted to UInt32
.
In case of overflow
a wrapping is performed.
Returns self
converted to UInt64
.
Raises OverflowError
in case of overflow.
Returns self
converted to UInt64
.
In case of overflow
a wrapping is performed.
Returns self
converted to UInt8
.
Raises OverflowError
in case of overflow.
Returns self
converted to UInt8
.
In case of overflow
a wrapping is performed.
Returns self
converted to an unsigned value of the same size.
Simply returns self
unmodified if self
is already an Int::Unsigned
.
Raises OverflowError
in case of overflow.
1_i32.to_unsigned # => 1_u32
2_i16.to_unsigned # => 2_u16
3_u64.to_unsigned # => 3_u64
Returns self
converted to an unsigned value of the same size, wrapping in
case of overflow.
Simply returns self
unmodified if self
is already an Int::Unsigned
.
1_i32.to_unsigned! # => 1_u32
(-6_i16).to_unsigned! # => 65530_u16
3_u64.to_unsigned! # => 3_u64
Returns the number of trailing 0
-bits.
Returns a Char
that has the unicode codepoint of self
,
without checking if this integer is in the range valid for
chars (0..0xd7ff
and 0xe000..0x10ffff
). In case of overflow
a wrapping is performed.
You should never use this method unless chr
turns out to
be a bottleneck.
97.unsafe_chr # => 'a'