Module std::u256
use std::ascii;
use std::option;
use std::string;
use std::vector;
Function bitwise_not​
Returns the bitwise not of the value.
Each bit that is 1 becomes 0. Each bit that is 0 becomes 1.
public fun bitwise_not(x: u256): u256
Function max​
Return the larger of x and y
public fun max(x: u256, y: u256): u256
Function min​
Return the smaller of x and y
public fun min(x: u256, y: u256): u256
Function diff​
Return the absolute value of x - y
public fun diff(x: u256, y: u256): u256
Function divide_and_round_up​
Calculate x / y, but round up the result.
public fun divide_and_round_up(x: u256, y: u256): u256
Function pow​
Return the value of a base raised to a power
public fun pow(base: u256, exponent: u8): u256
Function try_as_u8​
Try to convert a u256 to a u8. Returns None if the value is too large.
public fun try_as_u8(x: u256): std::option::Option<u8>
Function try_as_u16​
Try to convert a u256 to a u16. Returns None if the value is too large.
public fun try_as_u16(x: u256): std::option::Option<u16>
Function try_as_u32​
Try to convert a u256 to a u32. Returns None if the value is too large.
public fun try_as_u32(x: u256): std::option::Option<u32>
Function try_as_u64​
Try to convert a u256 to a u64. Returns None if the value is too large.
public fun try_as_u64(x: u256): std::option::Option<u64>
Function try_as_u128​
Try to convert a u256 to a u128. Returns None if the value is too large.
public fun try_as_u128(x: u256): std::option::Option<u128>
Function to_string​
public fun to_string(x: u256): std::string::String
Function checked_add​
Try to add x and y.
Returns None if the addition would overflow.
public fun checked_add(x: u256, y: u256): std::option::Option<u256>
Function checked_sub​
Try to subtract y from x.
Returns None if y > x.
public fun checked_sub(x: u256, y: u256): std::option::Option<u256>
Function checked_mul​
Try to multiply x and y.
Returns None if the multiplication would overflow.
public fun checked_mul(x: u256, y: u256): std::option::Option<u256>
Function checked_div​
Try to divide x by y.
Returns None if y is zero.
public fun checked_div(x: u256, y: u256): std::option::Option<u256>
Function saturating_add​
Add x and y, saturating at the maximum value instead of overflowing.
public fun saturating_add(x: u256, y: u256): u256
Function saturating_sub​
Subtract y from x, saturating at 0 instead of underflowing.
public fun saturating_sub(x: u256, y: u256): u256
Function saturating_mul​
Multiply x and y, saturating at the maximum value instead of overflowing.
public fun saturating_mul(x: u256, y: u256): u256
Function lossless_shl​
Shifts x left by shift bits.
Returns None if the shift would lose any bits (if the operation is not reversible).
public fun lossless_shl(x: u256, shift: u8): std::option::Option<u256>
Function lossless_shr​
Shifts x right by shift bits.
Returns None if the shift would lose any bits (if the operation is not reversible).
public fun lossless_shr(x: u256, shift: u8): std::option::Option<u256>
Function lossless_div​
Divides x by y.
Returns None if y is zero or if there is a non-zero remainder (if x % y != 0). In other
words, it returns None if the operation is not reversible.
public fun lossless_div(x: u256, y: u256): std::option::Option<u256>
Macro function max_value​
Maximum value for a u256
public macro fun max_value(): u256
Macro function range_do​
Loops applying $f to each number from $start to $stop (exclusive)
public macro fun range_do<$R: drop>($start: u256, $stop: u256, $f: |u256| -> $R)
Macro function range_do_eq​
Loops applying $f to each number from $start to $stop (inclusive)
public macro fun range_do_eq<$R: drop>($start: u256, $stop: u256, $f: |u256| -> $R)
Macro function do​
Loops applying $f to each number from 0 to $stop (exclusive)
public macro fun do<$R: drop>($stop: u256, $f: |u256| -> $R)
Macro function do_eq​
Loops applying $f to each number from 0 to $stop (inclusive)
public macro fun do_eq<$R: drop>($stop: u256, $f: |u256| -> $R)