Module 0x1::u64
Function max
Return the larger of x
and y
Function min
Return the smaller of x
and y
Function diff
Return the absolute value of x - y
Function divide_and_round_up
Calculate x / y, but round up the result.
public fun divide_and_round_up(x: u64, y: u64): u64
Implementation
public fun divide_and_round_up(x: u64, y: u64): u64 {
std::macros::num_divide_and_round_up!(x, y)
}
Function pow
Return the value of a base raised to a power
Implementation
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)
Feedback Form