external-crates/move/crates/move-stdlib/docs/std/u64.md
<a name="std_u64"></a>
std::u64bitwise_notmaxmindiffdivide_and_round_uppowsqrttry_as_u8try_as_u16try_as_u32to_stringmax_valuerange_dorange_do_eqdodo_eq<a name="std_u64_bitwise_not"></a>
bitwise_notReturns the bitwise not of the value. Each bit that is 1 becomes 0. Each bit that is 0 becomes 1.
<pre><code><b>public</b> <b>fun</b> <a href="../std/u64.md#std_u64_bitwise_not">bitwise_not</a>(x: <a href="../std/u64.md#std_u64">u64</a>): <a href="../std/u64.md#std_u64">u64</a> </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>fun</b> <a href="../std/u64.md#std_u64_bitwise_not">bitwise_not</a>(x: <a href="../std/u64.md#std_u64">u64</a>): <a href="../std/u64.md#std_u64">u64</a> { x ^ <a href="../std/u64.md#std_u64_max_value">max_value</a>!() } </code></pre> </details><a name="std_u64_max"></a>
maxReturn the larger of <code>x</code> and <code>y</code>
<pre><code><b>public</b> <b>fun</b> <a href="../std/u64.md#std_u64_max">max</a>(x: <a href="../std/u64.md#std_u64">u64</a>, y: <a href="../std/u64.md#std_u64">u64</a>): <a href="../std/u64.md#std_u64">u64</a> </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>fun</b> <a href="../std/u64.md#std_u64_max">max</a>(x: <a href="../std/u64.md#std_u64">u64</a>, y: <a href="../std/u64.md#std_u64">u64</a>): <a href="../std/u64.md#std_u64">u64</a> { <a href="../std/macros.md#std_macros_num_max">std::macros::num_max</a>!(x, y) } </code></pre> </details><a name="std_u64_min"></a>
minReturn the smaller of <code>x</code> and <code>y</code>
<pre><code><b>public</b> <b>fun</b> <a href="../std/u64.md#std_u64_min">min</a>(x: <a href="../std/u64.md#std_u64">u64</a>, y: <a href="../std/u64.md#std_u64">u64</a>): <a href="../std/u64.md#std_u64">u64</a> </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>fun</b> <a href="../std/u64.md#std_u64_min">min</a>(x: <a href="../std/u64.md#std_u64">u64</a>, y: <a href="../std/u64.md#std_u64">u64</a>): <a href="../std/u64.md#std_u64">u64</a> { <a href="../std/macros.md#std_macros_num_min">std::macros::num_min</a>!(x, y) } </code></pre> </details><a name="std_u64_diff"></a>
diffReturn the absolute value of x - y
<pre><code><b>public</b> <b>fun</b> <a href="../std/u64.md#std_u64_diff">diff</a>(x: <a href="../std/u64.md#std_u64">u64</a>, y: <a href="../std/u64.md#std_u64">u64</a>): <a href="../std/u64.md#std_u64">u64</a> </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>fun</b> <a href="../std/u64.md#std_u64_diff">diff</a>(x: <a href="../std/u64.md#std_u64">u64</a>, y: <a href="../std/u64.md#std_u64">u64</a>): <a href="../std/u64.md#std_u64">u64</a> { <a href="../std/macros.md#std_macros_num_diff">std::macros::num_diff</a>!(x, y) } </code></pre> </details><a name="std_u64_divide_and_round_up"></a>
divide_and_round_upCalculate x / y, but round up the result.
<pre><code><b>public</b> <b>fun</b> <a href="../std/u64.md#std_u64_divide_and_round_up">divide_and_round_up</a>(x: <a href="../std/u64.md#std_u64">u64</a>, y: <a href="../std/u64.md#std_u64">u64</a>): <a href="../std/u64.md#std_u64">u64</a> </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>fun</b> <a href="../std/u64.md#std_u64_divide_and_round_up">divide_and_round_up</a>(x: <a href="../std/u64.md#std_u64">u64</a>, y: <a href="../std/u64.md#std_u64">u64</a>): <a href="../std/u64.md#std_u64">u64</a> { <a href="../std/macros.md#std_macros_num_divide_and_round_up">std::macros::num_divide_and_round_up</a>!(x, y) } </code></pre> </details><a name="std_u64_pow"></a>
powReturn the value of a base raised to a power
<pre><code><b>public</b> <b>fun</b> <a href="../std/u64.md#std_u64_pow">pow</a>(base: <a href="../std/u64.md#std_u64">u64</a>, exponent: <a href="../std/u8.md#std_u8">u8</a>): <a href="../std/u64.md#std_u64">u64</a> </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>fun</b> <a href="../std/u64.md#std_u64_pow">pow</a>(base: <a href="../std/u64.md#std_u64">u64</a>, exponent: <a href="../std/u8.md#std_u8">u8</a>): <a href="../std/u64.md#std_u64">u64</a> { <a href="../std/macros.md#std_macros_num_pow">std::macros::num_pow</a>!(base, exponent) } </code></pre> </details><a name="std_u64_sqrt"></a>
sqrtGet a nearest lower integer Square Root for <code>x</code>. 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)
<a name="std_u64_try_as_u8"></a>
try_as_u8Try to convert a <code><a href="../std/u64.md#std_u64">u64</a></code> to a <code><a href="../std/u8.md#std_u8">u8</a></code>. Returns <code>None</code> if the value is too large.
<pre><code><b>public</b> <b>fun</b> <a href="../std/u64.md#std_u64_try_as_u8">try_as_u8</a>(x: <a href="../std/u64.md#std_u64">u64</a>): <a href="../std/option.md#std_option_Option">std::option::Option</a><<a href="../std/u8.md#std_u8">u8</a>> </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>fun</b> <a href="../std/u64.md#std_u64_try_as_u8">try_as_u8</a>(x: <a href="../std/u64.md#std_u64">u64</a>): Option<<a href="../std/u8.md#std_u8">u8</a>> { <a href="../std/macros.md#std_macros_try_as_u8">std::macros::try_as_u8</a>!(x) } </code></pre> </details><a name="std_u64_try_as_u16"></a>
try_as_u16Try to convert a <code><a href="../std/u64.md#std_u64">u64</a></code> to a <code><a href="../std/u16.md#std_u16">u16</a></code>. Returns <code>None</code> if the value is too large.
<pre><code><b>public</b> <b>fun</b> <a href="../std/u64.md#std_u64_try_as_u16">try_as_u16</a>(x: <a href="../std/u64.md#std_u64">u64</a>): <a href="../std/option.md#std_option_Option">std::option::Option</a><<a href="../std/u16.md#std_u16">u16</a>> </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>fun</b> <a href="../std/u64.md#std_u64_try_as_u16">try_as_u16</a>(x: <a href="../std/u64.md#std_u64">u64</a>): Option<<a href="../std/u16.md#std_u16">u16</a>> { <a href="../std/macros.md#std_macros_try_as_u16">std::macros::try_as_u16</a>!(x) } </code></pre> </details><a name="std_u64_try_as_u32"></a>
try_as_u32Try to convert a <code><a href="../std/u64.md#std_u64">u64</a></code> to a <code><a href="../std/u32.md#std_u32">u32</a></code>. Returns <code>None</code> if the value is too large.
<pre><code><b>public</b> <b>fun</b> <a href="../std/u64.md#std_u64_try_as_u32">try_as_u32</a>(x: <a href="../std/u64.md#std_u64">u64</a>): <a href="../std/option.md#std_option_Option">std::option::Option</a><<a href="../std/u32.md#std_u32">u32</a>> </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>fun</b> <a href="../std/u64.md#std_u64_try_as_u32">try_as_u32</a>(x: <a href="../std/u64.md#std_u64">u64</a>): Option<<a href="../std/u32.md#std_u32">u32</a>> { <a href="../std/macros.md#std_macros_try_as_u32">std::macros::try_as_u32</a>!(x) } </code></pre> </details><a name="std_u64_to_string"></a>
to_string<a name="std_u64_max_value"></a>
max_valueMaximum value for a <code><a href="../std/u64.md#std_u64">u64</a></code>
<pre><code><b>public</b> <b>macro</b> <b>fun</b> <a href="../std/u64.md#std_u64_max_value">max_value</a>(): <a href="../std/u64.md#std_u64">u64</a> </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>macro</b> <b>fun</b> <a href="../std/u64.md#std_u64_max_value">max_value</a>(): <a href="../std/u64.md#std_u64">u64</a> { 0xFFFF_FFFF_FFFF_FFFF } </code></pre> </details><a name="std_u64_range_do"></a>
range_doLoops applying <code>$f</code> to each number from <code>$start</code> to <code>$stop</code> (exclusive)
<pre><code><b>public</b> <b>macro</b> <b>fun</b> <a href="../std/u64.md#std_u64_range_do">range_do</a><$R: drop>($start: <a href="../std/u64.md#std_u64">u64</a>, $stop: <a href="../std/u64.md#std_u64">u64</a>, $f: |<a href="../std/u64.md#std_u64">u64</a>| -> $R) </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>macro</b> <b>fun</b> <a href="../std/u64.md#std_u64_range_do">range_do</a><$R: drop>($start: <a href="../std/u64.md#std_u64">u64</a>, $stop: <a href="../std/u64.md#std_u64">u64</a>, $f: |<a href="../std/u64.md#std_u64">u64</a>| -> $R) { <a href="../std/macros.md#std_macros_range_do">std::macros::range_do</a>!($start, $stop, $f) } </code></pre> </details><a name="std_u64_range_do_eq"></a>
range_do_eqLoops applying <code>$f</code> to each number from <code>$start</code> to <code>$stop</code> (inclusive)
<pre><code><b>public</b> <b>macro</b> <b>fun</b> <a href="../std/u64.md#std_u64_range_do_eq">range_do_eq</a><$R: drop>($start: <a href="../std/u64.md#std_u64">u64</a>, $stop: <a href="../std/u64.md#std_u64">u64</a>, $f: |<a href="../std/u64.md#std_u64">u64</a>| -> $R) </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>macro</b> <b>fun</b> <a href="../std/u64.md#std_u64_range_do_eq">range_do_eq</a><$R: drop>($start: <a href="../std/u64.md#std_u64">u64</a>, $stop: <a href="../std/u64.md#std_u64">u64</a>, $f: |<a href="../std/u64.md#std_u64">u64</a>| -> $R) { <a href="../std/macros.md#std_macros_range_do_eq">std::macros::range_do_eq</a>!($start, $stop, $f) } </code></pre> </details><a name="std_u64_do"></a>
doLoops applying <code>$f</code> to each number from <code>0</code> to <code>$stop</code> (exclusive)
<pre><code><b>public</b> <b>macro</b> <b>fun</b> <a href="../std/u64.md#std_u64_do">do</a><$R: drop>($stop: <a href="../std/u64.md#std_u64">u64</a>, $f: |<a href="../std/u64.md#std_u64">u64</a>| -> $R) </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>macro</b> <b>fun</b> <a href="../std/u64.md#std_u64_do">do</a><$R: drop>($stop: <a href="../std/u64.md#std_u64">u64</a>, $f: |<a href="../std/u64.md#std_u64">u64</a>| -> $R) { <a href="../std/macros.md#std_macros_do">std::macros::do</a>!($stop, $f) } </code></pre> </details><a name="std_u64_do_eq"></a>
do_eqLoops applying <code>$f</code> to each number from <code>0</code> to <code>$stop</code> (inclusive)
<pre><code><b>public</b> <b>macro</b> <b>fun</b> <a href="../std/u64.md#std_u64_do_eq">do_eq</a><$R: drop>($stop: <a href="../std/u64.md#std_u64">u64</a>, $f: |<a href="../std/u64.md#std_u64">u64</a>| -> $R) </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>macro</b> <b>fun</b> <a href="../std/u64.md#std_u64_do_eq">do_eq</a><$R: drop>($stop: <a href="../std/u64.md#std_u64">u64</a>, $f: |<a href="../std/u64.md#std_u64">u64</a>| -> $R) { <a href="../std/macros.md#std_macros_do_eq">std::macros::do_eq</a>!($stop, $f) } </code></pre> </details>