struct

Spacetime::U256

Inherits Comparable < Struct < Value < Object

256-bit unsigned integer stored in little-endian limb order (low, high).

Constants

MAX = new(UInt128::MAX, UInt128::MAX)
ZERO = new(0_u128, 0_u128)

Constructors

from_be_bytes(bytes : Bytes) : self

Constructs a U256 from a 32-byte big-endian slice.

Source
from_hex(hex_str : String) : self

Parses a hex string (with optional 0x prefix, up to 64 hex chars, big-endian hex significance).

Source
from_le_bytes(bytes : Bytes) : self

Constructs a U256 from a 32-byte little-endian slice.

Source
from_u128(val : UInt128) : self
Source
from_u64(val : UInt64) : self
Source
new(low : UInt128 = 0_u128, high : UInt128 = 0_u128)
Source

Instance methods

<=>(other : U256) : Int32

The comparison operator. Returns 0 if the two objects are equal, a negative number if this object is considered less than other, a positive number if this object is considered greater than other, or nil if the two objects are not comparable.

Subclasses define this method to provide class-specific ordering.

The comparison operator is usually used to sort values:

# Sort in a descending way:
[3, 1, 2].sort { |x, y| y <=> x } # => [3, 2, 1]

# Sort in an ascending way:
[3, 1, 2].sort { |x, y| x <=> y } # => [1, 2, 3]
Source
high
Source
to_be_bytes

Returns the 32-byte big-endian representation.

Source
to_hex

Returns a 64-character lowercase hexadecimal string (big-endian significance).

Source
to_le_bytes

Returns the 32-byte little-endian representation.

Source
to_s(io : IO) : Nil

Same as #inspect(io).

Source
zero?
Source