Module std::u64
- Function bitwise_not
- Function max
- Function min
- Function diff
- Function divide_and_round_up
- Function pow
- Function sqrt
- Function try_as_u8
- Function try_as_u16
- Function try_as_u32
- 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 checked_shl
- Function checked_shr
- 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: u64): u64
Function max
Return the larger of x and y
public fun max(x: u64, y: u64): u64
Function min
Return the smaller of x and y
public fun min(x: u64, y: u64): u64
Function diff
Return the absolute value of x - y
public fun diff(x: u64, y: u64): u64
Function divide_and_round_up
Calculate x / y, but round up the result.
public fun divide_and_round_up(x: u64, y: u64): u64
Function pow
Return the value of a base raised to a power
public fun pow(base: u64, exponent: u8): u64
Function sqrt
Get a nearest lower integer Square Root for x. Given that this function can only operate with integers, it is impossible to get perfect (or precise) integer square root for some numbers.
Example:
math::sqrt(9) => 3
math::sqrt(8) => 2 // the nearest lower square root is 4;
In integer math, one of the possible ways to get results with more precision is to use higher values or temporarily multiply the value by some bigger number. Ideally if this is a square of 10 or 100.
Example:
math::sqrt(8) => 2;
math::sqrt(8 * 10000) => 282;
// now we can use this value as if it was 2.82;
// but to get the actual result, this value needs
// to be divided by 100 (because sqrt(10000)).
math::sqrt(8 * 1000000) => 2828; // same as above, 2828 / 1000 (2.828)
public fun sqrt(x: u64): u64
Function try_as_u8
Try to convert a u64 to a u8. Returns None if the value is too large.
public fun try_as_u8(x: u64): std::option::Option<u8>
Function try_as_u16
Try to convert a u64 to a u16. Returns None if the value is too large.
public fun try_as_u16(x: u64): std::option::Option<u16>