external-crates/move/crates/move-stdlib/docs/std/u256.md
<a name="std_u256"></a>
std::u256bitwise_notmaxmindiffdivide_and_round_uppowtry_as_u8try_as_u16try_as_u32try_as_u64try_as_u128to_stringmax_valuerange_dorange_do_eqdodo_eq<a name="std_u256_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/u256.md#std_u256_bitwise_not">bitwise_not</a>(x: <a href="../std/u256.md#std_u256">u256</a>): <a href="../std/u256.md#std_u256">u256</a> </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>fun</b> <a href="../std/u256.md#std_u256_bitwise_not">bitwise_not</a>(x: <a href="../std/u256.md#std_u256">u256</a>): <a href="../std/u256.md#std_u256">u256</a> { x ^ <a href="../std/u256.md#std_u256_max_value">max_value</a>!() } </code></pre> </details><a name="std_u256_max"></a>
maxReturn the larger of <code>x</code> and <code>y</code>
<pre><code><b>public</b> <b>fun</b> <a href="../std/u256.md#std_u256_max">max</a>(x: <a href="../std/u256.md#std_u256">u256</a>, y: <a href="../std/u256.md#std_u256">u256</a>): <a href="../std/u256.md#std_u256">u256</a> </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>fun</b> <a href="../std/u256.md#std_u256_max">max</a>(x: <a href="../std/u256.md#std_u256">u256</a>, y: <a href="../std/u256.md#std_u256">u256</a>): <a href="../std/u256.md#std_u256">u256</a> { <a href="../std/macros.md#std_macros_num_max">std::macros::num_max</a>!(x, y) } </code></pre> </details><a name="std_u256_min"></a>
minReturn the smaller of <code>x</code> and <code>y</code>
<pre><code><b>public</b> <b>fun</b> <a href="../std/u256.md#std_u256_min">min</a>(x: <a href="../std/u256.md#std_u256">u256</a>, y: <a href="../std/u256.md#std_u256">u256</a>): <a href="../std/u256.md#std_u256">u256</a> </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>fun</b> <a href="../std/u256.md#std_u256_min">min</a>(x: <a href="../std/u256.md#std_u256">u256</a>, y: <a href="../std/u256.md#std_u256">u256</a>): <a href="../std/u256.md#std_u256">u256</a> { <a href="../std/macros.md#std_macros_num_min">std::macros::num_min</a>!(x, y) } </code></pre> </details><a name="std_u256_diff"></a>
diffReturn the absolute value of x - y
<pre><code><b>public</b> <b>fun</b> <a href="../std/u256.md#std_u256_diff">diff</a>(x: <a href="../std/u256.md#std_u256">u256</a>, y: <a href="../std/u256.md#std_u256">u256</a>): <a href="../std/u256.md#std_u256">u256</a> </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>fun</b> <a href="../std/u256.md#std_u256_diff">diff</a>(x: <a href="../std/u256.md#std_u256">u256</a>, y: <a href="../std/u256.md#std_u256">u256</a>): <a href="../std/u256.md#std_u256">u256</a> { <a href="../std/macros.md#std_macros_num_diff">std::macros::num_diff</a>!(x, y) } </code></pre> </details><a name="std_u256_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/u256.md#std_u256_divide_and_round_up">divide_and_round_up</a>(x: <a href="../std/u256.md#std_u256">u256</a>, y: <a href="../std/u256.md#std_u256">u256</a>): <a href="../std/u256.md#std_u256">u256</a> </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>fun</b> <a href="../std/u256.md#std_u256_divide_and_round_up">divide_and_round_up</a>(x: <a href="../std/u256.md#std_u256">u256</a>, y: <a href="../std/u256.md#std_u256">u256</a>): <a href="../std/u256.md#std_u256">u256</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_u256_pow"></a>
powReturn the value of a base raised to a power
<pre><code><b>public</b> <b>fun</b> <a href="../std/u256.md#std_u256_pow">pow</a>(base: <a href="../std/u256.md#std_u256">u256</a>, exponent: <a href="../std/u8.md#std_u8">u8</a>): <a href="../std/u256.md#std_u256">u256</a> </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>fun</b> <a href="../std/u256.md#std_u256_pow">pow</a>(base: <a href="../std/u256.md#std_u256">u256</a>, exponent: <a href="../std/u8.md#std_u8">u8</a>): <a href="../std/u256.md#std_u256">u256</a> { <a href="../std/macros.md#std_macros_num_pow">std::macros::num_pow</a>!(base, exponent) } </code></pre> </details><a name="std_u256_try_as_u8"></a>
try_as_u8Try to convert a <code><a href="../std/u256.md#std_u256">u256</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/u256.md#std_u256_try_as_u8">try_as_u8</a>(x: <a href="../std/u256.md#std_u256">u256</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/u256.md#std_u256_try_as_u8">try_as_u8</a>(x: <a href="../std/u256.md#std_u256">u256</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_u256_try_as_u16"></a>
try_as_u16Try to convert a <code><a href="../std/u256.md#std_u256">u256</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/u256.md#std_u256_try_as_u16">try_as_u16</a>(x: <a href="../std/u256.md#std_u256">u256</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/u256.md#std_u256_try_as_u16">try_as_u16</a>(x: <a href="../std/u256.md#std_u256">u256</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_u256_try_as_u32"></a>
try_as_u32Try to convert a <code><a href="../std/u256.md#std_u256">u256</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/u256.md#std_u256_try_as_u32">try_as_u32</a>(x: <a href="../std/u256.md#std_u256">u256</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/u256.md#std_u256_try_as_u32">try_as_u32</a>(x: <a href="../std/u256.md#std_u256">u256</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_u256_try_as_u64"></a>
try_as_u64Try to convert a <code><a href="../std/u256.md#std_u256">u256</a></code> to a <code><a href="../std/u64.md#std_u64">u64</a></code>. Returns <code>None</code> if the value is too large.
<pre><code><b>public</b> <b>fun</b> <a href="../std/u256.md#std_u256_try_as_u64">try_as_u64</a>(x: <a href="../std/u256.md#std_u256">u256</a>): <a href="../std/option.md#std_option_Option">std::option::Option</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/u256.md#std_u256_try_as_u64">try_as_u64</a>(x: <a href="../std/u256.md#std_u256">u256</a>): Option<<a href="../std/u64.md#std_u64">u64</a>> { <a href="../std/macros.md#std_macros_try_as_u64">std::macros::try_as_u64</a>!(x) } </code></pre> </details><a name="std_u256_try_as_u128"></a>
try_as_u128Try to convert a <code><a href="../std/u256.md#std_u256">u256</a></code> to a <code><a href="../std/u128.md#std_u128">u128</a></code>. Returns <code>None</code> if the value is too large.
<pre><code><b>public</b> <b>fun</b> <a href="../std/u256.md#std_u256_try_as_u128">try_as_u128</a>(x: <a href="../std/u256.md#std_u256">u256</a>): <a href="../std/option.md#std_option_Option">std::option::Option</a><<a href="../std/u128.md#std_u128">u128</a>> </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>fun</b> <a href="../std/u256.md#std_u256_try_as_u128">try_as_u128</a>(x: <a href="../std/u256.md#std_u256">u256</a>): Option<<a href="../std/u128.md#std_u128">u128</a>> { <a href="../std/macros.md#std_macros_try_as_u128">std::macros::try_as_u128</a>!(x) } </code></pre> </details><a name="std_u256_to_string"></a>
to_string<a name="std_u256_max_value"></a>
max_valueMaximum value for a <code><a href="../std/u256.md#std_u256">u256</a></code>
<pre><code><b>public</b> <b>macro</b> <b>fun</b> <a href="../std/u256.md#std_u256_max_value">max_value</a>(): <a href="../std/u256.md#std_u256">u256</a> </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>macro</b> <b>fun</b> <a href="../std/u256.md#std_u256_max_value">max_value</a>(): <a href="../std/u256.md#std_u256">u256</a> { 0xFFFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFF } </code></pre> </details><a name="std_u256_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/u256.md#std_u256_range_do">range_do</a><$R: drop>($start: <a href="../std/u256.md#std_u256">u256</a>, $stop: <a href="../std/u256.md#std_u256">u256</a>, $f: |<a href="../std/u256.md#std_u256">u256</a>| -> $R) </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>macro</b> <b>fun</b> <a href="../std/u256.md#std_u256_range_do">range_do</a><$R: drop>($start: <a href="../std/u256.md#std_u256">u256</a>, $stop: <a href="../std/u256.md#std_u256">u256</a>, $f: |<a href="../std/u256.md#std_u256">u256</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_u256_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/u256.md#std_u256_range_do_eq">range_do_eq</a><$R: drop>($start: <a href="../std/u256.md#std_u256">u256</a>, $stop: <a href="../std/u256.md#std_u256">u256</a>, $f: |<a href="../std/u256.md#std_u256">u256</a>| -> $R) </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>macro</b> <b>fun</b> <a href="../std/u256.md#std_u256_range_do_eq">range_do_eq</a><$R: drop>($start: <a href="../std/u256.md#std_u256">u256</a>, $stop: <a href="../std/u256.md#std_u256">u256</a>, $f: |<a href="../std/u256.md#std_u256">u256</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_u256_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/u256.md#std_u256_do">do</a><$R: drop>($stop: <a href="../std/u256.md#std_u256">u256</a>, $f: |<a href="../std/u256.md#std_u256">u256</a>| -> $R) </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>macro</b> <b>fun</b> <a href="../std/u256.md#std_u256_do">do</a><$R: drop>($stop: <a href="../std/u256.md#std_u256">u256</a>, $f: |<a href="../std/u256.md#std_u256">u256</a>| -> $R) { <a href="../std/macros.md#std_macros_do">std::macros::do</a>!($stop, $f) } </code></pre> </details><a name="std_u256_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/u256.md#std_u256_do_eq">do_eq</a><$R: drop>($stop: <a href="../std/u256.md#std_u256">u256</a>, $f: |<a href="../std/u256.md#std_u256">u256</a>| -> $R) </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>macro</b> <b>fun</b> <a href="../std/u256.md#std_u256_do_eq">do_eq</a><$R: drop>($stop: <a href="../std/u256.md#std_u256">u256</a>, $f: |<a href="../std/u256.md#std_u256">u256</a>| -> $R) { <a href="../std/macros.md#std_macros_do_eq">std::macros::do_eq</a>!($stop, $f) } </code></pre> </details>