Module std::u256
- Function bitwise_not
- Function max
- Function min
- Function diff
- Function divide_and_round_up
- Function pow
- Function try_as_u8
- Function try_as_u16
- Function try_as_u32
- Function try_as_u64
- Function try_as_u128
- Function to_string
- Function checked_add
- Function checked_sub
- Function checked_mul
- Function checked_div
- Function saturating_add
- Function saturating_sub
- Function saturating_mul
- Function lossless_shl
- Function lossless_shr
- Function lossless_div
- Macro function max_value
- Macro function range_do
- Macro function range_do_eq
- Macro function do
- Macro function do_eq
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)