Files
C-Plus-Plus/da/da3/uint256__t_8hpp_source.html
2025-08-15 04:42:14 +00:00

986 lines
163 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- HTML header for doxygen 1.12.0-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: ciphers/uint256_t.hpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@xpack-3rd-party/doxygen-awesome-css@2.2.0-1/doxygen-awesome-darkmode-toggle.js"></script>
<script type="text/javascript">
DoxygenAwesomeDarkModeToggle.init()
</script>
<script type="text/javascript" src="../../clipboard.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../navtreedata.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript" src="../../cookie.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
window.MathJax = {
options: {
ignoreHtmlClass: 'tex2jax_ignore',
processHtmlClass: 'tex2jax_process'
},
loader: {
load: ['[tex]/ams']
},
tex: {
macros: {},
packages: ['base','configmacros','ams']
}
};
</script>
<script type="text/javascript" id="MathJax-script" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
<link href="../../doxygen-awesome.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../project_logo.png"/></td>
<td id="projectalign">
<div id="projectname">TheAlgorithms/C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">All the algorithms implemented in C++</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('../../',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('da/da3/uint256__t_8hpp_source.html','../../',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">uint256_t.hpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../da/da3/uint256__t_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &lt;string&gt;</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &lt;utility&gt;</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include &quot;<a class="code" href="../../da/d41/uint128__t_8hpp.html">uint128_t.hpp</a>&quot;</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#ifndef CIPHERS_UINT256_T_HPP_</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"><a class="line" href="../../da/da3/uint256__t_8hpp.html#a1d8c5ec5b5e419c5c8a740251485102c"> 16</a></span><span class="preprocessor">#define CIPHERS_UINT256_T_HPP_</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="keyword">class </span><a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>;</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="keyword">template</span> &lt;&gt;</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"><a class="line" href="../../d7/d47/structstd_1_1is__integral_3_01uint256__t_01_4.html"> 21</a></span><span class="keyword">struct </span>std::is_integral&lt;<a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>&gt; : std::true_type {};</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="keyword">template</span> &lt;&gt;</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"><a class="line" href="../../dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html"> 24</a></span><span class="keyword">struct </span>std::is_arithmetic&lt;<a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>&gt; : std::true_type {};</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="keyword">template</span> &lt;&gt;</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="../../df/d99/structstd_1_1is__unsigned_3_01uint256__t_01_4.html"> 27</a></span><span class="keyword">struct </span>std::is_unsigned&lt;<a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>&gt; : std::true_type {};</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span></div>
<div class="foldopen" id="foldopen00033" data-start="{" data-end="};">
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html"> 33</a></span><span class="keyword">class </span>uint256_t {</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a> f{}, s{}; </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span></div>
<div class="foldopen" id="foldopen00043" data-start="{" data-end="}">
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#afee82fa5052e9d8c946b9205b943cec4"> 43</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#afee82fa5052e9d8c946b9205b943cec4">__get_integer_from_string</a>(<span class="keyword">const</span> std::string &amp;str) {</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> this-&gt;f = this-&gt;s = <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(0);</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keywordflow">if</span> (str.size() &gt; 1 &amp;&amp; str[1] == <span class="charliteral">&#39;x&#39;</span>) {</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> i = 2; i &lt; str.size(); ++i) {</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> *<span class="keyword">this</span> *= 16LL;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keywordflow">if</span> (str[i] &gt;= <span class="charliteral">&#39;0&#39;</span> &amp;&amp; str[i] &lt;= <span class="charliteral">&#39;9&#39;</span>) {</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> *<span class="keyword">this</span> += (str[i] - <span class="charliteral">&#39;0&#39;</span>);</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str[i] &gt;= <span class="charliteral">&#39;A&#39;</span> &amp;&amp; str[i] &lt;= <span class="charliteral">&#39;F&#39;</span>) {</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> *<span class="keyword">this</span> += (str[i] - <span class="charliteral">&#39;A&#39;</span> + 10);</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str[i] &gt;= <span class="charliteral">&#39;a&#39;</span> &amp;&amp; str[i] &lt;= <span class="charliteral">&#39;f&#39;</span>) {</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> *<span class="keyword">this</span> += (str[i] - <span class="charliteral">&#39;a&#39;</span> + 10);</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> }</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> }</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;x : str) {</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> *<span class="keyword">this</span> *= 10LL;</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> *<span class="keyword">this</span> += (x - <span class="charliteral">&#39;0&#39;</span>);</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> }</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> }</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> }</div>
</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="comment">// Constructors</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>() = <span class="keywordflow">default</span>;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#aed0f8c3d5be23644c4bcb2fd2551e1dc"> 75</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#aed0f8c3d5be23644c4bcb2fd2551e1dc">uint256_t</a>(T low) : f(0), s(low) {}</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span></div>
<div class="foldopen" id="foldopen00081" data-start="{" data-end="}">
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a1fa3d95584d071add9b46597d3747b39"> 81</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a1fa3d95584d071add9b46597d3747b39">uint256_t</a>(<span class="keyword">const</span> std::string &amp;str) {</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#afee82fa5052e9d8c946b9205b943cec4">__get_integer_from_string</a>(str);</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> }</div>
</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span></div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a42bf7490b31d8c750a67fd9bb6f2df2e"> 89</a></span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a42bf7490b31d8c750a67fd9bb6f2df2e">uint256_t</a>(<span class="keyword">const</span> uint256_t &amp;num) = <span class="keywordflow">default</span>;</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span></div>
<div class="foldopen" id="foldopen00095" data-start="{" data-end="}">
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a092a766421ba5833452e86a2357d7cfa"> 95</a></span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a092a766421ba5833452e86a2357d7cfa">uint256_t</a>(uint256_t &amp;&amp;num) noexcept</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> : f(std::move(num.f)), s(std::move(num.s)) {}</div>
</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span></div>
<div class="foldopen" id="foldopen00103" data-start="{" data-end="}">
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a02616a4a46727b4c158b2b90de8c75c3"> 103</a></span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a02616a4a46727b4c158b2b90de8c75c3">uint256_t</a>(<a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a> high, <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a> low)</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> : f(std::move(high)), s(std::move(low)) {}</div>
</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span></div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a2b5f745c05d10fa85ba5c409ad92d052"> 111</a></span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a2b5f745c05d10fa85ba5c409ad92d052">uint256_t</a>(<span class="keyword">const</span> uint64_t high, <span class="keyword">const</span> uint64_t low) : f(high), s(low) {}</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a3ff17ab14b2371eb3239107d10947067"> 116</a></span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a3ff17ab14b2371eb3239107d10947067">~uint256_t</a>() = <span class="keywordflow">default</span>;</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span></div>
<div class="foldopen" id="foldopen00123" data-start="{" data-end="}">
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a033d66c965e8d1fbc5bafb59ad60e163"> 123</a></span> <span class="keyword">inline</span> uint32_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a033d66c965e8d1fbc5bafb59ad60e163">_lez</a>() {</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">if</span> (f) {</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">return</span> f._lez();</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> }</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keywordflow">return</span> 128 + s._lez();</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> }</div>
</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span></div>
<div class="foldopen" id="foldopen00135" data-start="{" data-end="}">
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a9ddd133cee83f3a2ab6ed60a7ccbc250"> 135</a></span> <span class="keyword">inline</span> uint32_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a9ddd133cee83f3a2ab6ed60a7ccbc250">_trz</a>() {</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">if</span> (s) {</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">return</span> s._trz();</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> }</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="keywordflow">return</span> 128 + f._trz();</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> }</div>
</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span></div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a28aa5786bbfce1b00398a8d38691bdaa"> 146</a></span> <span class="keyword">inline</span> <span class="keyword">explicit</span> <span class="keyword">operator</span> bool()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> f || s; }</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span></div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00155" data-start="{" data-end="}">
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a9e1b39a46ea16bc6587e25e294c6c363"> 155</a></span> <span class="keyword">inline</span> <span class="keyword">explicit</span> <span class="keyword">operator</span> T()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(s);</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> }</div>
</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span></div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#ad5bd38b2d3becca998457af1124d6e8b"> 163</a></span> <span class="keyword">inline</span> <span class="keyword">explicit</span> <span class="keyword">operator</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> s; }</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span></div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#aa4cf08fa6a33f17594b5a842866f39a1"> 169</a></span> <span class="keyword">inline</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#aa4cf08fa6a33f17594b5a842866f39a1">lower</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> s; }</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span></div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#aecb2883133c8c8b9fcfb77ab69b03ab5"> 175</a></span> <span class="keyword">inline</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#aecb2883133c8c8b9fcfb77ab69b03ab5">upper</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> f; }</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span></div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a4c6db67d21c4927a45a4e1e7c2357bfc"> 182</a></span> <span class="keyword">inline</span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#a4c6db67d21c4927a45a4e1e7c2357bfc">operator=</a>(<span class="keyword">const</span> uint256_t &amp;p) = <span class="keywordflow">default</span>;</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span></div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00192" data-start="{" data-end="}">
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#addff5645f6005e7b50a6ad0731e4f19c"> 192</a></span> <span class="keyword">inline</span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#addff5645f6005e7b50a6ad0731e4f19c">operator=</a>(<span class="keyword">const</span> T &amp;p) {</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> this-&gt;s = p;</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> }</div>
</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span></div>
<div class="foldopen" id="foldopen00202" data-start="{" data-end="}">
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a86aab081bb7db2771e4a4f30c3eed8e2"> 202</a></span> <span class="keyword">inline</span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#a86aab081bb7db2771e4a4f30c3eed8e2">operator=</a>(<span class="keyword">const</span> std::string &amp;p) {</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#afee82fa5052e9d8c946b9205b943cec4">__get_integer_from_string</a>(p);</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> }</div>
</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span></div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a6c5e025f901f6af4b748f98013350638"> 210</a></span> <span class="keyword">inline</span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#a6c5e025f901f6af4b748f98013350638">operator=</a>(uint256_t &amp;&amp;p) = <span class="keywordflow">default</span>;</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span></div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00220" data-start="{" data-end="}">
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a20dc3a017b1a740c4bafd3f146a90b0f"> 220</a></span> <span class="keyword">inline</span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a20dc3a017b1a740c4bafd3f146a90b0f">operator+</a>(<span class="keyword">const</span> T &amp;p) {</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <span class="keywordtype">bool</span> app = s + p &lt; s;</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> <span class="keywordflow">return</span> uint256_t(f + app, s + p);</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> }</div>
</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span></div>
<div class="foldopen" id="foldopen00230" data-start="{" data-end="}">
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#af18e2e3d7ed635c4056062bc906fef75"> 230</a></span> <span class="keyword">inline</span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#af18e2e3d7ed635c4056062bc906fef75">operator+</a>(<span class="keyword">const</span> uint256_t &amp;p) {</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> <span class="keywordtype">bool</span> app = (s + p.s &lt; s);</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> <span class="keywordflow">return</span> {f + app + p.f, s + p.s};</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> }</div>
</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span></div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00243" data-start="{" data-end="}">
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a5363ec0f36de1a8a9c985907db4e95d1"> 243</a></span> <span class="keyword">inline</span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#a5363ec0f36de1a8a9c985907db4e95d1">operator+=</a>(<span class="keyword">const</span> T &amp;p) {</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <span class="keywordtype">bool</span> app = (p + s &lt; s);</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> this-&gt;f += app;</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> this-&gt;s += p;</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> }</div>
</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span></div>
<div class="foldopen" id="foldopen00255" data-start="{" data-end="}">
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#ac75a46fe3625caf10e07db1eb75a1d6e"> 255</a></span> <span class="keyword">inline</span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#ac75a46fe3625caf10e07db1eb75a1d6e">operator+=</a>(<span class="keyword">const</span> uint256_t &amp;p) {</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> <span class="keywordtype">bool</span> app = (s + p.s &lt; s);</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> f = f + app + p.f;</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> s = s + p.s;</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> }</div>
</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span></div>
<div class="foldopen" id="foldopen00266" data-start="{" data-end="}">
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#af0ad4080bb5ddc16b54a7e87911005c9"> 266</a></span> <span class="keyword">inline</span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#af0ad4080bb5ddc16b54a7e87911005c9">operator++</a>() {</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> *<span class="keyword">this</span> += 1;</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> }</div>
</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span></div>
<div class="foldopen" id="foldopen00275" data-start="{" data-end="}">
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a7bbe36e2ebd52df5efab118897b3050c"> 275</a></span> <span class="keyword">inline</span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a7bbe36e2ebd52df5efab118897b3050c">operator++</a>(<span class="keywordtype">int</span>) {</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> ++*<span class="keyword">this</span>;</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> }</div>
</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span></div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00288" data-start="{" data-end="}">
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a88978d00fa6a624c50c2737dc2c294b4"> 288</a></span> <span class="keyword">inline</span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a88978d00fa6a624c50c2737dc2c294b4">operator-</a>(<span class="keyword">const</span> T &amp;p) {</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> <span class="keywordtype">bool</span> app = (p &gt; s);</div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> <span class="keywordflow">return</span> uint256_t(f - app, s - p);</div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> }</div>
</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span></div>
<div class="foldopen" id="foldopen00298" data-start="{" data-end="}">
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#ab909ef62a0c85121e7d743c016fb723d"> 298</a></span> <span class="keyword">inline</span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#ab909ef62a0c85121e7d743c016fb723d">operator-</a>(<span class="keyword">const</span> uint256_t &amp;p) {</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> <span class="keywordtype">bool</span> app = s &lt; p.s;</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> <span class="keywordflow">return</span> {f - p.f - app, s - p.s};</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> }</div>
</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span></div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a406c951a07d8173685dbe384c6ab6a06"> 307</a></span> <span class="keyword">inline</span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a406c951a07d8173685dbe384c6ab6a06">operator-</a>() { <span class="keywordflow">return</span> ~*<span class="keyword">this</span> + uint256_t(1); }</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span></div>
<div class="foldopen" id="foldopen00313" data-start="{" data-end="}">
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a9f6f3e39783c893473315bada864a183"> 313</a></span> <span class="keyword">inline</span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#a9f6f3e39783c893473315bada864a183">operator--</a>() {</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> *<span class="keyword">this</span> -= 1;</div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> }</div>
</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span></div>
<div class="foldopen" id="foldopen00322" data-start="{" data-end="}">
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a28d26847f9b19a4f86c187791cb0db13"> 322</a></span> <span class="keyword">inline</span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a28d26847f9b19a4f86c187791cb0db13">operator--</a>(<span class="keywordtype">int</span> p) {</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> --*<span class="keyword">this</span>;</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> }</div>
</div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span></div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00335" data-start="{" data-end="}">
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#acd3970c633eb2c597874e2712392f0c7"> 335</a></span> <span class="keyword">inline</span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#acd3970c633eb2c597874e2712392f0c7">operator-=</a>(<span class="keyword">const</span> T p) {</div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> <span class="keywordtype">bool</span> app = (p &gt; s);</div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> f = f - app;</div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> s = s - p;</div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> }</div>
</div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span></div>
<div class="foldopen" id="foldopen00347" data-start="{" data-end="}">
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a5e84ed2a2f99cee81ede4a0107702a45"> 347</a></span> <span class="keyword">inline</span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#a5e84ed2a2f99cee81ede4a0107702a45">operator-=</a>(<span class="keyword">const</span> uint256_t &amp;p) {</div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> <span class="keywordtype">bool</span> app = s &lt; p.s;</div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> f = f - app - p.f;</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> s = s - p.s;</div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> }</div>
</div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span></div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00362" data-start="{" data-end="}">
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#aaca9288fd28fc07e1386f1586bd51616"> 362</a></span> <span class="keyword">inline</span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#aaca9288fd28fc07e1386f1586bd51616">operator*</a>(<span class="keyword">const</span> T &amp;p) {</div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> <span class="keywordflow">return</span> *<span class="keyword">this</span> * uint256_t(p);</div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> }</div>
</div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span></div>
<div class="foldopen" id="foldopen00371" data-start="{" data-end="}">
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#aa9e585b186e71d7cbe9c1d7387c38967"> 371</a></span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#aa9e585b186e71d7cbe9c1d7387c38967">operator*</a>(<span class="keyword">const</span> uint256_t &amp;p) {</div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a> f_first(s.upper()), f_second(s.lower()), s_first(p.s.<a class="code hl_function" href="../../db/d9a/classuint128__t.html#a1ee2f1ffbd9984faad34883eb45e9705">upper</a>()),</div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> s_second(p.s.<a class="code hl_function" href="../../db/d9a/classuint128__t.html#aa69e1064c0b0b1df1c61acd2ea04fabd">lower</a>());</div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a> fi = f_first * s_first, se = f_first * s_second,</div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> th = s_first * f_second, fo = s_second * f_second;</div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a> tmp = se &lt;&lt; 64, tmp2 = th &lt;&lt; 64;</div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> <span class="keywordtype">int</span> cc = (tmp + tmp2 &lt; tmp);</div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> tmp += tmp2;</div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> cc += (tmp + fo &lt; tmp);</div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span> <span class="keywordflow">return</span> {f * p.s + s * p.f + fi + se.<a class="code hl_function" href="../../db/d9a/classuint128__t.html#a1ee2f1ffbd9984faad34883eb45e9705">upper</a>() + th.upper() + cc,</div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> tmp + fo};</div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> }</div>
</div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span></div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00392" data-start="{" data-end="}">
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#af2193ff0d0e93143fb71f4847df16028"> 392</a></span> <span class="keyword">inline</span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#af2193ff0d0e93143fb71f4847df16028">operator*=</a>(<span class="keyword">const</span> T &amp;p) {</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> <span class="keywordflow">return</span> (*<span class="keyword">this</span> *= uint256_t(p));</div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> }</div>
</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span></div>
<div class="foldopen" id="foldopen00401" data-start="{" data-end="}">
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a4645040fe68ff01d83400f173fd2bb21"> 401</a></span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#a4645040fe68ff01d83400f173fd2bb21">operator*=</a>(<span class="keyword">const</span> uint256_t &amp;p) {</div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a> f_first(s.upper()), f_second(s.lower()), s_first(p.s.<a class="code hl_function" href="../../db/d9a/classuint128__t.html#a1ee2f1ffbd9984faad34883eb45e9705">upper</a>()),</div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span> s_second(p.s.<a class="code hl_function" href="../../db/d9a/classuint128__t.html#aa69e1064c0b0b1df1c61acd2ea04fabd">lower</a>());</div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a> fi = f_first * s_first, se = f_first * s_second,</div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span> th = s_first * f_second, fo = s_second * f_second;</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a> tmp = se &lt;&lt; 64, tmp2 = th &lt;&lt; 64;</div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> <span class="keywordtype">int</span> cc = (tmp + tmp2 &lt; tmp);</div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> tmp += tmp2;</div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> cc += (tmp + fo &lt; tmp);</div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span> f = f * p.s + s * p.f + fi + se.<a class="code hl_function" href="../../db/d9a/classuint128__t.html#a1ee2f1ffbd9984faad34883eb45e9705">upper</a>() + th.upper() + cc;</div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span> s = tmp + fo;</div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span> }</div>
</div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span></div>
<div class="foldopen" id="foldopen00421" data-start="{" data-end="}">
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a8161d52d369e525f4e61129376adfcf1"> 421</a></span> std::pair&lt;uint256_t, uint256_t&gt; <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a8161d52d369e525f4e61129376adfcf1">divide</a>(<span class="keyword">const</span> uint256_t &amp;p) {</div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> <span class="keywordflow">if</span> (*<span class="keyword">this</span> &lt; p) { <span class="comment">// if this is less than divisor</span></div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> <span class="keywordflow">return</span> {uint256_t(0), *<span class="keyword">this</span>};</div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*<span class="keyword">this</span> == p) { <span class="comment">// if this is equal to divisor</span></div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span> <span class="keywordflow">return</span> {uint256_t(1), uint256_t(0)};</div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> }</div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> uint256_t tmp = p, tmp2 = *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> uint16_t left = tmp.<a class="code hl_function" href="../../d1/d83/classuint256__t.html#a033d66c965e8d1fbc5bafb59ad60e163">_lez</a>() - <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a033d66c965e8d1fbc5bafb59ad60e163">_lez</a>();</div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span> tmp &lt;&lt;= left;</div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span> uint256_t quotient(0);</div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span> uint256_t zero(0);</div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> <span class="keywordflow">while</span> (tmp2 &gt;= p) {</div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> uint16_t shf = tmp2._lez() - tmp.<a class="code hl_function" href="../../d1/d83/classuint256__t.html#a033d66c965e8d1fbc5bafb59ad60e163">_lez</a>();</div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span> <span class="keywordflow">if</span> (shf) {</div>
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"> 435</span> tmp &gt;&gt;= shf;</div>
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"> 436</span> quotient &lt;&lt;= shf;</div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span> left -= shf;</div>
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> }</div>
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> <span class="keywordflow">if</span> (tmp2 &lt; tmp) {</div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> tmp &gt;&gt;= 1;</div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span> quotient &lt;&lt;= 1;</div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> --left;</div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span> }</div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> tmp2 -= tmp;</div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> ++quotient;</div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> }</div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span> <span class="keywordflow">return</span> {quotient &lt;&lt; left, tmp2};</div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span> }</div>
</div>
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span></div>
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00458" data-start="{" data-end="}">
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#acac9901ab133caa57d058a377d873bf6"> 458</a></span> <span class="keyword">inline</span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#acac9901ab133caa57d058a377d873bf6">operator/</a>(<span class="keyword">const</span> T &amp;p) {</div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span> uint256_t tmp = *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span> tmp /= uint256_t(p);</div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span> <span class="keywordflow">return</span> tmp;</div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span> }</div>
</div>
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span></div>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a4fdeb4d4bf8cca4ee99b8487e59831df"> 469</a></span> <span class="keyword">inline</span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a4fdeb4d4bf8cca4ee99b8487e59831df">operator/</a>(<span class="keyword">const</span> uint256_t &amp;p) { <span class="keywordflow">return</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a8161d52d369e525f4e61129376adfcf1">divide</a>(p).first; }</div>
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span></div>
<div class="foldopen" id="foldopen00476" data-start="{" data-end="}">
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#ac1b36e64de42f3622e7d6ec5efa273d4"> 476</a></span> <span class="keyword">inline</span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#ac1b36e64de42f3622e7d6ec5efa273d4">operator/=</a>(<span class="keyword">const</span> uint256_t &amp;p) {</div>
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> *<span class="keyword">this</span> = <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a8161d52d369e525f4e61129376adfcf1">divide</a>(p).first;</div>
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> }</div>
</div>
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span></div>
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"> 488</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00489" data-start="{" data-end="}">
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#abc793979ec70bb8e5cf177d83649a259"> 489</a></span> <span class="keyword">inline</span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#abc793979ec70bb8e5cf177d83649a259">operator/=</a>(<span class="keyword">const</span> T &amp;p) {</div>
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"> 490</span> *<span class="keyword">this</span> /= uint256_t(p);</div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span> }</div>
</div>
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"> 493</span></div>
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#ad4928175eaaaa2b559bc945affe63ad2"> 499</a></span> <span class="keyword">inline</span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#ad4928175eaaaa2b559bc945affe63ad2">operator%</a>(<span class="keyword">const</span> uint256_t &amp;p) { <span class="keywordflow">return</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a8161d52d369e525f4e61129376adfcf1">divide</a>(p).second; }</div>
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"> 500</span></div>
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"> 508</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00509" data-start="{" data-end="}">
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a7bd9693b88c4df08b1f8d1fd81c597cc"> 509</a></span> <span class="keyword">inline</span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a7bd9693b88c4df08b1f8d1fd81c597cc">operator%</a>(<span class="keyword">const</span> T &amp;p) {</div>
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"> 510</span> uint256_t tmp = *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span> tmp %= uint256_t(p);</div>
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span> <span class="keywordflow">return</span> tmp;</div>
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"> 513</span> }</div>
</div>
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span></div>
<div class="foldopen" id="foldopen00520" data-start="{" data-end="}">
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a2cd43a4a92dc825a010a17578b3bdedb"> 520</a></span> <span class="keyword">inline</span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#a2cd43a4a92dc825a010a17578b3bdedb">operator%=</a>(<span class="keyword">const</span> uint256_t &amp;p) {</div>
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"> 521</span> *<span class="keyword">this</span> = <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a8161d52d369e525f4e61129376adfcf1">divide</a>(p).second;</div>
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"> 522</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"> 523</span> }</div>
</div>
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span></div>
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"> 532</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00533" data-start="{" data-end="}">
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a76914bc727eab927a3941ef71275327d"> 533</a></span> <span class="keyword">inline</span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#a76914bc727eab927a3941ef71275327d">operator%=</a>(<span class="keyword">const</span> T &amp;p) {</div>
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span> *<span class="keyword">this</span> %= uint256_t(p);</div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span> }</div>
</div>
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"> 537</span></div>
<div class="foldopen" id="foldopen00543" data-start="{" data-end="}">
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#afe9f4828d73dd51a080585dd0b99af96"> 543</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#afe9f4828d73dd51a080585dd0b99af96">operator&lt;</a>(<span class="keyword">const</span> uint256_t &amp;other) {</div>
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"> 544</span> <span class="keywordflow">return</span> f &lt; other.f || (f == other.f &amp;&amp; s &lt; other.s);</div>
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"> 545</span> }</div>
</div>
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span></div>
<div class="foldopen" id="foldopen00552" data-start="{" data-end="}">
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a19c88f8f2736750822b82ef9a7096d88"> 552</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a19c88f8f2736750822b82ef9a7096d88">operator&lt;=</a>(<span class="keyword">const</span> uint256_t &amp;other) {</div>
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span> <span class="keywordflow">return</span> f &lt; other.f || (f == other.f &amp;&amp; s &lt;= other.s);</div>
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span> }</div>
</div>
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span></div>
<div class="foldopen" id="foldopen00561" data-start="{" data-end="}">
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#acadd235e0029ec43d5990d24affaf42d"> 561</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#acadd235e0029ec43d5990d24affaf42d">operator&gt;</a>(<span class="keyword">const</span> uint256_t &amp;other) {</div>
<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"> 562</span> <span class="keywordflow">return</span> f &gt; other.f || (f == other.f &amp;&amp; s &gt; other.s);</div>
<div class="line"><a id="l00563" name="l00563"></a><span class="lineno"> 563</span> }</div>
</div>
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"> 564</span></div>
<div class="foldopen" id="foldopen00570" data-start="{" data-end="}">
<div class="line"><a id="l00570" name="l00570"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#adf09395f9113a69a05fed7e25b46c8ad"> 570</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#adf09395f9113a69a05fed7e25b46c8ad">operator&gt;=</a>(<span class="keyword">const</span> uint256_t &amp;other) {</div>
<div class="line"><a id="l00571" name="l00571"></a><span class="lineno"> 571</span> <span class="keywordflow">return</span> (f &gt; other.f) || (f == other.f &amp;&amp; s &gt;= other.s);</div>
<div class="line"><a id="l00572" name="l00572"></a><span class="lineno"> 572</span> }</div>
</div>
<div class="line"><a id="l00573" name="l00573"></a><span class="lineno"> 573</span></div>
<div class="foldopen" id="foldopen00579" data-start="{" data-end="}">
<div class="line"><a id="l00579" name="l00579"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a90ce75bec5b525de55bbf92c564a2261"> 579</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a90ce75bec5b525de55bbf92c564a2261">operator==</a>(<span class="keyword">const</span> uint256_t &amp;other) {</div>
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span> <span class="keywordflow">return</span> f == other.f &amp;&amp; s == other.s;</div>
<div class="line"><a id="l00581" name="l00581"></a><span class="lineno"> 581</span> }</div>
</div>
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"> 582</span></div>
<div class="foldopen" id="foldopen00588" data-start="{" data-end="}">
<div class="line"><a id="l00588" name="l00588"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#aae68a7bd17c14a926fb77758b5c8e547"> 588</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#aae68a7bd17c14a926fb77758b5c8e547">operator!=</a>(<span class="keyword">const</span> uint256_t &amp;other) {</div>
<div class="line"><a id="l00589" name="l00589"></a><span class="lineno"> 589</span> <span class="keywordflow">return</span> !((*this) == other);</div>
<div class="line"><a id="l00590" name="l00590"></a><span class="lineno"> 590</span> }</div>
</div>
<div class="line"><a id="l00591" name="l00591"></a><span class="lineno"> 591</span></div>
<div class="line"><a id="l00596" name="l00596"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a028c585069fa53b74c153667ff66352c"> 596</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a028c585069fa53b74c153667ff66352c">operator!</a>() { <span class="keywordflow">return</span> !f &amp;&amp; !s; }</div>
<div class="line"><a id="l00597" name="l00597"></a><span class="lineno"> 597</span></div>
<div class="foldopen" id="foldopen00603" data-start="{" data-end="}">
<div class="line"><a id="l00603" name="l00603"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#aa0e532832640e9fe273b35c481b18963"> 603</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#aa0e532832640e9fe273b35c481b18963">operator&amp;&amp;</a>(<span class="keyword">const</span> uint256_t &amp;b) {</div>
<div class="line"><a id="l00604" name="l00604"></a><span class="lineno"> 604</span> <span class="keywordflow">return</span> (s || f) &amp;&amp; (b.s || b.f);</div>
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno"> 605</span> }</div>
</div>
<div class="line"><a id="l00606" name="l00606"></a><span class="lineno"> 606</span></div>
<div class="foldopen" id="foldopen00612" data-start="{" data-end="}">
<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a41f4bb928c4ee067732503395b65f9d7"> 612</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a41f4bb928c4ee067732503395b65f9d7">operator||</a>(<span class="keyword">const</span> uint256_t &amp;b) {</div>
<div class="line"><a id="l00613" name="l00613"></a><span class="lineno"> 613</span> <span class="keywordflow">return</span> (s || f) || (b.s || b.f);</div>
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno"> 614</span> }</div>
</div>
<div class="line"><a id="l00615" name="l00615"></a><span class="lineno"> 615</span></div>
<div class="line"><a id="l00620" name="l00620"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a7ac99dea14428200f0101452293e2b3b"> 620</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a7ac99dea14428200f0101452293e2b3b">operator()</a>() { <span class="keywordflow">return</span> s || f; }</div>
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno"> 621</span></div>
<div class="line"><a id="l00628" name="l00628"></a><span class="lineno"> 628</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00629" name="l00629"></a><span class="lineno"> 629</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00630" data-start="{" data-end="}">
<div class="line"><a id="l00630" name="l00630"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#ac6bdcf64653af8173987bf7217e99056"> 630</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#ac6bdcf64653af8173987bf7217e99056">operator&lt;</a>(<span class="keyword">const</span> T &amp;other) {</div>
<div class="line"><a id="l00631" name="l00631"></a><span class="lineno"> 631</span> <span class="keywordflow">return</span> *<span class="keyword">this</span> &lt; uint256_t(other);</div>
<div class="line"><a id="l00632" name="l00632"></a><span class="lineno"> 632</span> }</div>
</div>
<div class="line"><a id="l00633" name="l00633"></a><span class="lineno"> 633</span></div>
<div class="line"><a id="l00640" name="l00640"></a><span class="lineno"> 640</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00641" name="l00641"></a><span class="lineno"> 641</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00642" data-start="{" data-end="}">
<div class="line"><a id="l00642" name="l00642"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a2029e9777f999bffef6004429b4f19f2"> 642</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a2029e9777f999bffef6004429b4f19f2">operator&lt;=</a>(<span class="keyword">const</span> T &amp;other) {</div>
<div class="line"><a id="l00643" name="l00643"></a><span class="lineno"> 643</span> <span class="keywordflow">return</span> *<span class="keyword">this</span> &lt;= uint256_t(other);</div>
<div class="line"><a id="l00644" name="l00644"></a><span class="lineno"> 644</span> }</div>
</div>
<div class="line"><a id="l00645" name="l00645"></a><span class="lineno"> 645</span></div>
<div class="line"><a id="l00652" name="l00652"></a><span class="lineno"> 652</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00653" name="l00653"></a><span class="lineno"> 653</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00654" data-start="{" data-end="}">
<div class="line"><a id="l00654" name="l00654"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#ad74d33215517459c2b33ace7a9c6bc13"> 654</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#ad74d33215517459c2b33ace7a9c6bc13">operator&gt;</a>(<span class="keyword">const</span> T &amp;other) {</div>
<div class="line"><a id="l00655" name="l00655"></a><span class="lineno"> 655</span> <span class="keywordflow">return</span> *<span class="keyword">this</span> &gt; uint256_t(other);</div>
<div class="line"><a id="l00656" name="l00656"></a><span class="lineno"> 656</span> }</div>
</div>
<div class="line"><a id="l00657" name="l00657"></a><span class="lineno"> 657</span></div>
<div class="line"><a id="l00664" name="l00664"></a><span class="lineno"> 664</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00665" name="l00665"></a><span class="lineno"> 665</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00666" data-start="{" data-end="}">
<div class="line"><a id="l00666" name="l00666"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#aff4d49cf84de64301b169ad974f00bad"> 666</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#aff4d49cf84de64301b169ad974f00bad">operator&gt;=</a>(<span class="keyword">const</span> T &amp;other) {</div>
<div class="line"><a id="l00667" name="l00667"></a><span class="lineno"> 667</span> <span class="keywordflow">return</span> *<span class="keyword">this</span> &gt;= uint256_t(other);</div>
<div class="line"><a id="l00668" name="l00668"></a><span class="lineno"> 668</span> }</div>
</div>
<div class="line"><a id="l00669" name="l00669"></a><span class="lineno"> 669</span></div>
<div class="line"><a id="l00676" name="l00676"></a><span class="lineno"> 676</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00677" name="l00677"></a><span class="lineno"> 677</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00678" data-start="{" data-end="}">
<div class="line"><a id="l00678" name="l00678"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a9879f7ec85fc148e1931fcb492ddc484"> 678</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a9879f7ec85fc148e1931fcb492ddc484">operator==</a>(<span class="keyword">const</span> T &amp;other) {</div>
<div class="line"><a id="l00679" name="l00679"></a><span class="lineno"> 679</span> <span class="keywordflow">return</span> *<span class="keyword">this</span> == uint256_t(other);</div>
<div class="line"><a id="l00680" name="l00680"></a><span class="lineno"> 680</span> }</div>
</div>
<div class="line"><a id="l00681" name="l00681"></a><span class="lineno"> 681</span></div>
<div class="line"><a id="l00688" name="l00688"></a><span class="lineno"> 688</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00689" name="l00689"></a><span class="lineno"> 689</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00690" data-start="{" data-end="}">
<div class="line"><a id="l00690" name="l00690"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a89cf7fa466458ee08edd9a809d072bcb"> 690</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a89cf7fa466458ee08edd9a809d072bcb">operator!=</a>(<span class="keyword">const</span> T &amp;other) {</div>
<div class="line"><a id="l00691" name="l00691"></a><span class="lineno"> 691</span> <span class="keywordflow">return</span> *<span class="keyword">this</span> != uint256_t(other);</div>
<div class="line"><a id="l00692" name="l00692"></a><span class="lineno"> 692</span> }</div>
</div>
<div class="line"><a id="l00693" name="l00693"></a><span class="lineno"> 693</span></div>
<div class="line"><a id="l00700" name="l00700"></a><span class="lineno"> 700</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00701" name="l00701"></a><span class="lineno"> 701</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00702" data-start="{" data-end="}">
<div class="line"><a id="l00702" name="l00702"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a303287d7bc8686dcb47fcb04720ad409"> 702</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a303287d7bc8686dcb47fcb04720ad409">operator&amp;&amp;</a>(<span class="keyword">const</span> T &amp;b) {</div>
<div class="line"><a id="l00703" name="l00703"></a><span class="lineno"> 703</span> <span class="keywordflow">return</span> (s || f) &amp;&amp; (b);</div>
<div class="line"><a id="l00704" name="l00704"></a><span class="lineno"> 704</span> }</div>
</div>
<div class="line"><a id="l00705" name="l00705"></a><span class="lineno"> 705</span></div>
<div class="line"><a id="l00713" name="l00713"></a><span class="lineno"> 713</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00714" name="l00714"></a><span class="lineno"> 714</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00715" data-start="{" data-end="}">
<div class="line"><a id="l00715" name="l00715"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a4886747ffff15cdeb6bc93712629f9e7"> 715</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a4886747ffff15cdeb6bc93712629f9e7">operator||</a>(<span class="keyword">const</span> T &amp;b) {</div>
<div class="line"><a id="l00716" name="l00716"></a><span class="lineno"> 716</span> <span class="keywordflow">return</span> (s || f) || (b);</div>
<div class="line"><a id="l00717" name="l00717"></a><span class="lineno"> 717</span> }</div>
</div>
<div class="line"><a id="l00718" name="l00718"></a><span class="lineno"> 718</span></div>
<div class="line"><a id="l00723" name="l00723"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a6eec1f632aebfc44fee8a74c395e10c2"> 723</a></span> <span class="keyword">inline</span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a6eec1f632aebfc44fee8a74c395e10c2">operator~</a>() { <span class="keywordflow">return</span> {~f, ~s}; }</div>
<div class="line"><a id="l00724" name="l00724"></a><span class="lineno"> 724</span></div>
<div class="line"><a id="l00731" name="l00731"></a><span class="lineno"> 731</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00732" name="l00732"></a><span class="lineno"> 732</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00733" data-start="{" data-end="}">
<div class="line"><a id="l00733" name="l00733"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a4831263abc4430c363fdabce6e6e96d5"> 733</a></span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a4831263abc4430c363fdabce6e6e96d5">operator&lt;&lt;</a>(<span class="keyword">const</span> T &amp;p) {</div>
<div class="line"><a id="l00734" name="l00734"></a><span class="lineno"> 734</span> <span class="keywordflow">if</span> (!p) {</div>
<div class="line"><a id="l00735" name="l00735"></a><span class="lineno"> 735</span> <span class="keywordflow">return</span> {this-&gt;f, this-&gt;s};</div>
<div class="line"><a id="l00736" name="l00736"></a><span class="lineno"> 736</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (p &gt;= 128) {</div>
<div class="line"><a id="l00737" name="l00737"></a><span class="lineno"> 737</span> <span class="keywordflow">return</span> uint256_t((this-&gt;s &lt;&lt; (p - 128)), <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(0));</div>
<div class="line"><a id="l00738" name="l00738"></a><span class="lineno"> 738</span> }</div>
<div class="line"><a id="l00739" name="l00739"></a><span class="lineno"> 739</span> <span class="keywordflow">return</span> uint256_t((this-&gt;f &lt;&lt; p) + (this-&gt;s &gt;&gt; (128 - p)),</div>
<div class="line"><a id="l00740" name="l00740"></a><span class="lineno"> 740</span> (this-&gt;s &lt;&lt; p));</div>
<div class="line"><a id="l00741" name="l00741"></a><span class="lineno"> 741</span> }</div>
</div>
<div class="line"><a id="l00742" name="l00742"></a><span class="lineno"> 742</span></div>
<div class="line"><a id="l00749" name="l00749"></a><span class="lineno"> 749</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00750" name="l00750"></a><span class="lineno"> 750</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00751" data-start="{" data-end="}">
<div class="line"><a id="l00751" name="l00751"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a0d96ce2d022dc30c2f303ab0698f52f5"> 751</a></span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#a0d96ce2d022dc30c2f303ab0698f52f5">operator&lt;&lt;=</a>(<span class="keyword">const</span> T &amp;p) {</div>
<div class="line"><a id="l00752" name="l00752"></a><span class="lineno"> 752</span> <span class="keywordflow">if</span> (p) {</div>
<div class="line"><a id="l00753" name="l00753"></a><span class="lineno"> 753</span> <span class="keywordflow">if</span> (p &gt;= 128) {</div>
<div class="line"><a id="l00754" name="l00754"></a><span class="lineno"> 754</span> this-&gt;f = (this-&gt;s &lt;&lt; (p - 128));</div>
<div class="line"><a id="l00755" name="l00755"></a><span class="lineno"> 755</span> this-&gt;s = <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(0);</div>
<div class="line"><a id="l00756" name="l00756"></a><span class="lineno"> 756</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00757" name="l00757"></a><span class="lineno"> 757</span> f = ((this-&gt;s &gt;&gt; (128 - p)) + (this-&gt;f &lt;&lt; p));</div>
<div class="line"><a id="l00758" name="l00758"></a><span class="lineno"> 758</span> s = (this-&gt;s &lt;&lt; p);</div>
<div class="line"><a id="l00759" name="l00759"></a><span class="lineno"> 759</span> }</div>
<div class="line"><a id="l00760" name="l00760"></a><span class="lineno"> 760</span> }</div>
<div class="line"><a id="l00761" name="l00761"></a><span class="lineno"> 761</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00762" name="l00762"></a><span class="lineno"> 762</span> }</div>
</div>
<div class="line"><a id="l00763" name="l00763"></a><span class="lineno"> 763</span></div>
<div class="line"><a id="l00770" name="l00770"></a><span class="lineno"> 770</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00771" name="l00771"></a><span class="lineno"> 771</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00772" data-start="{" data-end="}">
<div class="line"><a id="l00772" name="l00772"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a47a19142e86b7369e18da1fc0a713c51"> 772</a></span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a47a19142e86b7369e18da1fc0a713c51">operator&gt;&gt;</a>(<span class="keyword">const</span> T &amp;p) {</div>
<div class="line"><a id="l00773" name="l00773"></a><span class="lineno"> 773</span> <span class="keywordflow">if</span> (!p) {</div>
<div class="line"><a id="l00774" name="l00774"></a><span class="lineno"> 774</span> <span class="keywordflow">return</span> {this-&gt;f, this-&gt;s};</div>
<div class="line"><a id="l00775" name="l00775"></a><span class="lineno"> 775</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (p &gt;= 128) {</div>
<div class="line"><a id="l00776" name="l00776"></a><span class="lineno"> 776</span> <span class="keywordflow">return</span> uint256_t(<a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(0), (this-&gt;f &gt;&gt; (p - 128)));</div>
<div class="line"><a id="l00777" name="l00777"></a><span class="lineno"> 777</span> }</div>
<div class="line"><a id="l00778" name="l00778"></a><span class="lineno"> 778</span> <span class="keywordflow">return</span> uint256_t((this-&gt;f &gt;&gt; p),</div>
<div class="line"><a id="l00779" name="l00779"></a><span class="lineno"> 779</span> (this-&gt;s &gt;&gt; p) + (this-&gt;f &lt;&lt; (128 - p)));</div>
<div class="line"><a id="l00780" name="l00780"></a><span class="lineno"> 780</span> }</div>
</div>
<div class="line"><a id="l00781" name="l00781"></a><span class="lineno"> 781</span></div>
<div class="line"><a id="l00788" name="l00788"></a><span class="lineno"> 788</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00789" name="l00789"></a><span class="lineno"> 789</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00790" data-start="{" data-end="}">
<div class="line"><a id="l00790" name="l00790"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#ad9ce2370b1497efbcc426793048e1f78"> 790</a></span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#ad9ce2370b1497efbcc426793048e1f78">operator&gt;&gt;=</a>(<span class="keyword">const</span> T &amp;p) {</div>
<div class="line"><a id="l00791" name="l00791"></a><span class="lineno"> 791</span> <span class="keywordflow">if</span> (p) {</div>
<div class="line"><a id="l00792" name="l00792"></a><span class="lineno"> 792</span> <span class="keywordflow">if</span> (p &gt;= 128) {</div>
<div class="line"><a id="l00793" name="l00793"></a><span class="lineno"> 793</span> f = <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(0);</div>
<div class="line"><a id="l00794" name="l00794"></a><span class="lineno"> 794</span> s = (this-&gt;f &gt;&gt; (p - 128));</div>
<div class="line"><a id="l00795" name="l00795"></a><span class="lineno"> 795</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00796" name="l00796"></a><span class="lineno"> 796</span> s = (this-&gt;s &gt;&gt; p) + (this-&gt;f &lt;&lt; (128 - p));</div>
<div class="line"><a id="l00797" name="l00797"></a><span class="lineno"> 797</span> f = (this-&gt;f &gt;&gt; p);</div>
<div class="line"><a id="l00798" name="l00798"></a><span class="lineno"> 798</span> }</div>
<div class="line"><a id="l00799" name="l00799"></a><span class="lineno"> 799</span> }</div>
<div class="line"><a id="l00800" name="l00800"></a><span class="lineno"> 800</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00801" name="l00801"></a><span class="lineno"> 801</span> }</div>
</div>
<div class="line"><a id="l00802" name="l00802"></a><span class="lineno"> 802</span></div>
<div class="line"><a id="l00809" name="l00809"></a><span class="lineno"> 809</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00810" name="l00810"></a><span class="lineno"> 810</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00811" data-start="{" data-end="}">
<div class="line"><a id="l00811" name="l00811"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a6eadaa829087e07eebafca3981566bb8"> 811</a></span> <span class="keyword">inline</span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a6eadaa829087e07eebafca3981566bb8">operator&amp;</a>(<span class="keyword">const</span> T &amp;p) {</div>
<div class="line"><a id="l00812" name="l00812"></a><span class="lineno"> 812</span> <span class="keywordflow">return</span> *<span class="keyword">this</span> &amp; uint256_t(p);</div>
<div class="line"><a id="l00813" name="l00813"></a><span class="lineno"> 813</span> }</div>
</div>
<div class="line"><a id="l00814" name="l00814"></a><span class="lineno"> 814</span></div>
<div class="foldopen" id="foldopen00820" data-start="{" data-end="}">
<div class="line"><a id="l00820" name="l00820"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a9bc6cc460108306a59281ce4ca216839"> 820</a></span> <span class="keyword">inline</span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a9bc6cc460108306a59281ce4ca216839">operator&amp;</a>(<span class="keyword">const</span> uint256_t &amp;p) {</div>
<div class="line"><a id="l00821" name="l00821"></a><span class="lineno"> 821</span> <span class="keywordflow">return</span> {f &amp; p.f, s &amp; p.s};</div>
<div class="line"><a id="l00822" name="l00822"></a><span class="lineno"> 822</span> }</div>
</div>
<div class="line"><a id="l00823" name="l00823"></a><span class="lineno"> 823</span></div>
<div class="foldopen" id="foldopen00829" data-start="{" data-end="}">
<div class="line"><a id="l00829" name="l00829"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a357cdfee6a79e0484cd1e07511eb9f2d"> 829</a></span> <span class="keyword">inline</span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#a357cdfee6a79e0484cd1e07511eb9f2d">operator&amp;=</a>(<span class="keyword">const</span> uint256_t &amp;p) {</div>
<div class="line"><a id="l00830" name="l00830"></a><span class="lineno"> 830</span> f &amp;= p.f;</div>
<div class="line"><a id="l00831" name="l00831"></a><span class="lineno"> 831</span> s &amp;= p.s;</div>
<div class="line"><a id="l00832" name="l00832"></a><span class="lineno"> 832</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00833" name="l00833"></a><span class="lineno"> 833</span> }</div>
</div>
<div class="line"><a id="l00834" name="l00834"></a><span class="lineno"> 834</span></div>
<div class="line"><a id="l00841" name="l00841"></a><span class="lineno"> 841</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00842" name="l00842"></a><span class="lineno"> 842</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00843" data-start="{" data-end="}">
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#afa79020c27caea31236d04ecaa0e5ef5"> 843</a></span> <span class="keyword">inline</span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#afa79020c27caea31236d04ecaa0e5ef5">operator&amp;=</a>(<span class="keyword">const</span> T p) {</div>
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno"> 844</span> s &amp;= p.s;</div>
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno"> 845</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00846" name="l00846"></a><span class="lineno"> 846</span> }</div>
</div>
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"> 847</span></div>
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00855" name="l00855"></a><span class="lineno"> 855</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00856" data-start="{" data-end="}">
<div class="line"><a id="l00856" name="l00856"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#acefecc3b1a4044f2be5ab46eea0099bf"> 856</a></span> <span class="keyword">inline</span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#acefecc3b1a4044f2be5ab46eea0099bf">operator|</a>(<span class="keyword">const</span> T &amp;p) {</div>
<div class="line"><a id="l00857" name="l00857"></a><span class="lineno"> 857</span> <span class="keywordflow">return</span> *<span class="keyword">this</span> | uint256_t(p);</div>
<div class="line"><a id="l00858" name="l00858"></a><span class="lineno"> 858</span> }</div>
</div>
<div class="line"><a id="l00859" name="l00859"></a><span class="lineno"> 859</span></div>
<div class="foldopen" id="foldopen00865" data-start="{" data-end="}">
<div class="line"><a id="l00865" name="l00865"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a2d7c8a1a5ecaf3e0dcb4bf6b6cff2da2"> 865</a></span> <span class="keyword">inline</span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a2d7c8a1a5ecaf3e0dcb4bf6b6cff2da2">operator|</a>(<span class="keyword">const</span> uint256_t &amp;p) {</div>
<div class="line"><a id="l00866" name="l00866"></a><span class="lineno"> 866</span> <span class="keywordflow">return</span> {this-&gt;f | p.f, this-&gt;s | p.s};</div>
<div class="line"><a id="l00867" name="l00867"></a><span class="lineno"> 867</span> }</div>
</div>
<div class="line"><a id="l00868" name="l00868"></a><span class="lineno"> 868</span></div>
<div class="line"><a id="l00875" name="l00875"></a><span class="lineno"> 875</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00876" name="l00876"></a><span class="lineno"> 876</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00877" data-start="{" data-end="}">
<div class="line"><a id="l00877" name="l00877"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#af0a6e09fcf1cbf234ed32df6d7265a0b"> 877</a></span> <span class="keyword">inline</span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#af0a6e09fcf1cbf234ed32df6d7265a0b">operator|=</a>(<span class="keyword">const</span> T &amp;p) {</div>
<div class="line"><a id="l00878" name="l00878"></a><span class="lineno"> 878</span> s |= p;</div>
<div class="line"><a id="l00879" name="l00879"></a><span class="lineno"> 879</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00880" name="l00880"></a><span class="lineno"> 880</span> }</div>
</div>
<div class="line"><a id="l00881" name="l00881"></a><span class="lineno"> 881</span></div>
<div class="foldopen" id="foldopen00887" data-start="{" data-end="}">
<div class="line"><a id="l00887" name="l00887"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#aa28ae272e9176557133a10dffa3b94dc"> 887</a></span> <span class="keyword">inline</span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#aa28ae272e9176557133a10dffa3b94dc">operator|=</a>(<span class="keyword">const</span> uint256_t &amp;p) {</div>
<div class="line"><a id="l00888" name="l00888"></a><span class="lineno"> 888</span> f |= p.f;</div>
<div class="line"><a id="l00889" name="l00889"></a><span class="lineno"> 889</span> s |= p.s;</div>
<div class="line"><a id="l00890" name="l00890"></a><span class="lineno"> 890</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00891" name="l00891"></a><span class="lineno"> 891</span> }</div>
</div>
<div class="line"><a id="l00892" name="l00892"></a><span class="lineno"> 892</span></div>
<div class="line"><a id="l00899" name="l00899"></a><span class="lineno"> 899</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00900" name="l00900"></a><span class="lineno"> 900</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00901" data-start="{" data-end="}">
<div class="line"><a id="l00901" name="l00901"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#acb61fe17d064c61adc02defa651f9a5e"> 901</a></span> <span class="keyword">inline</span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#acb61fe17d064c61adc02defa651f9a5e">operator^</a>(<span class="keyword">const</span> T &amp;p) {</div>
<div class="line"><a id="l00902" name="l00902"></a><span class="lineno"> 902</span> <span class="keywordflow">return</span> uint256_t(f, s ^ p);</div>
<div class="line"><a id="l00903" name="l00903"></a><span class="lineno"> 903</span> }</div>
</div>
<div class="line"><a id="l00904" name="l00904"></a><span class="lineno"> 904</span></div>
<div class="foldopen" id="foldopen00910" data-start="{" data-end="}">
<div class="line"><a id="l00910" name="l00910"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a74d1e1dd8cd2b31e00813ed939943be7"> 910</a></span> <span class="keyword">inline</span> uint256_t <a class="code hl_function" href="../../d1/d83/classuint256__t.html#a74d1e1dd8cd2b31e00813ed939943be7">operator^</a>(<span class="keyword">const</span> uint256_t &amp;p) {</div>
<div class="line"><a id="l00911" name="l00911"></a><span class="lineno"> 911</span> <span class="keywordflow">return</span> {this-&gt;f ^ p.f, this-&gt;s ^ p.s};</div>
<div class="line"><a id="l00912" name="l00912"></a><span class="lineno"> 912</span> }</div>
</div>
<div class="line"><a id="l00913" name="l00913"></a><span class="lineno"> 913</span></div>
<div class="foldopen" id="foldopen00919" data-start="{" data-end="}">
<div class="line"><a id="l00919" name="l00919"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#ac92ac0b2368990fbbaf3cca3ee8247d7"> 919</a></span> <span class="keyword">inline</span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#ac92ac0b2368990fbbaf3cca3ee8247d7">operator^=</a>(<span class="keyword">const</span> uint256_t &amp;p) {</div>
<div class="line"><a id="l00920" name="l00920"></a><span class="lineno"> 920</span> f ^= p.f;</div>
<div class="line"><a id="l00921" name="l00921"></a><span class="lineno"> 921</span> s ^= p.s;</div>
<div class="line"><a id="l00922" name="l00922"></a><span class="lineno"> 922</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00923" name="l00923"></a><span class="lineno"> 923</span> }</div>
</div>
<div class="line"><a id="l00924" name="l00924"></a><span class="lineno"> 924</span></div>
<div class="line"><a id="l00931" name="l00931"></a><span class="lineno"> 931</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00932" name="l00932"></a><span class="lineno"> 932</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="foldopen" id="foldopen00933" data-start="{" data-end="}">
<div class="line"><a id="l00933" name="l00933"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a3dc4d3ab175f5f2a3172eb8d99a60fc3"> 933</a></span> <span class="keyword">inline</span> uint256_t &amp;<a class="code hl_function" href="../../d1/d83/classuint256__t.html#a3dc4d3ab175f5f2a3172eb8d99a60fc3">operator^=</a>(<span class="keyword">const</span> T &amp;p) {</div>
<div class="line"><a id="l00934" name="l00934"></a><span class="lineno"> 934</span> s ^= p;</div>
<div class="line"><a id="l00935" name="l00935"></a><span class="lineno"> 935</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00936" name="l00936"></a><span class="lineno"> 936</span> }</div>
</div>
<div class="line"><a id="l00937" name="l00937"></a><span class="lineno"> 937</span></div>
<div class="foldopen" id="foldopen00947" data-start="{" data-end="}">
<div class="line"><a id="l00947" name="l00947"></a><span class="lineno"><a class="line" href="../../d1/d83/classuint256__t.html#a91badfd31be84b12cbb6d85ebc04d13a"> 947</a></span> <span class="keyword">friend</span> std::ostream &amp;<a class="code hl_friend" href="../../d1/d83/classuint256__t.html#a91badfd31be84b12cbb6d85ebc04d13a">operator&lt;&lt;</a>(std::ostream &amp;op, uint256_t p) {</div>
<div class="line"><a id="l00948" name="l00948"></a><span class="lineno"> 948</span> <span class="keywordflow">if</span> (!p.f) {</div>
<div class="line"><a id="l00949" name="l00949"></a><span class="lineno"> 949</span> op &lt;&lt; p.s;</div>
<div class="line"><a id="l00950" name="l00950"></a><span class="lineno"> 950</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00951" name="l00951"></a><span class="lineno"> 951</span> std::string out = <span class="stringliteral">&quot;0&quot;</span>, p_2 = <span class="stringliteral">&quot;1&quot;</span>;</div>
<div class="line"><a id="l00952" name="l00952"></a><span class="lineno"> 952</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a> L(1);</div>
<div class="line"><a id="l00953" name="l00953"></a><span class="lineno"> 953</span> <span class="keywordflow">for</span> (uint64_t i = 0; i &lt; 128; ++i) {</div>
<div class="line"><a id="l00954" name="l00954"></a><span class="lineno"> 954</span> <span class="keywordflow">if</span> ((p.s &amp; L)) {</div>
<div class="line"><a id="l00955" name="l00955"></a><span class="lineno"> 955</span> out = <a class="code hl_function" href="../../da/d41/uint128__t_8hpp.html#a3ff77262ffd6743df5b808d41382a6f3">add</a>(out, p_2);</div>
<div class="line"><a id="l00956" name="l00956"></a><span class="lineno"> 956</span> }</div>
<div class="line"><a id="l00957" name="l00957"></a><span class="lineno"> 957</span> p_2 = <a class="code hl_function" href="../../da/d41/uint128__t_8hpp.html#a3ff77262ffd6743df5b808d41382a6f3">add</a>(p_2, p_2);</div>
<div class="line"><a id="l00958" name="l00958"></a><span class="lineno"> 958</span> L &lt;&lt;= 1;</div>
<div class="line"><a id="l00959" name="l00959"></a><span class="lineno"> 959</span> }</div>
<div class="line"><a id="l00960" name="l00960"></a><span class="lineno"> 960</span> L = <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(1);</div>
<div class="line"><a id="l00961" name="l00961"></a><span class="lineno"> 961</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; 128; ++i) {</div>
<div class="line"><a id="l00962" name="l00962"></a><span class="lineno"> 962</span> <span class="keywordflow">if</span> ((p.f &amp; L)) {</div>
<div class="line"><a id="l00963" name="l00963"></a><span class="lineno"> 963</span> out = <a class="code hl_function" href="../../da/d41/uint128__t_8hpp.html#a3ff77262ffd6743df5b808d41382a6f3">add</a>(out, p_2);</div>
<div class="line"><a id="l00964" name="l00964"></a><span class="lineno"> 964</span> }</div>
<div class="line"><a id="l00965" name="l00965"></a><span class="lineno"> 965</span> p_2 = <a class="code hl_function" href="../../da/d41/uint128__t_8hpp.html#a3ff77262ffd6743df5b808d41382a6f3">add</a>(p_2, p_2);</div>
<div class="line"><a id="l00966" name="l00966"></a><span class="lineno"> 966</span> L &lt;&lt;= 1;</div>
<div class="line"><a id="l00967" name="l00967"></a><span class="lineno"> 967</span> }</div>
<div class="line"><a id="l00968" name="l00968"></a><span class="lineno"> 968</span> op &lt;&lt; out;</div>
<div class="line"><a id="l00969" name="l00969"></a><span class="lineno"> 969</span> }</div>
<div class="line"><a id="l00970" name="l00970"></a><span class="lineno"> 970</span> <span class="keywordflow">return</span> op;</div>
<div class="line"><a id="l00971" name="l00971"></a><span class="lineno"> 971</span> }</div>
</div>
<div class="line"><a id="l00972" name="l00972"></a><span class="lineno"> 972</span>};</div>
</div>
<div class="line"><a id="l00973" name="l00973"></a><span class="lineno"> 973</span> </div>
<div class="line"><a id="l00974" name="l00974"></a><span class="lineno"> 974</span><span class="comment">// Artihmetic</span></div>
<div class="line"><a id="l00975" name="l00975"></a><span class="lineno"> 975</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00976" name="l00976"></a><span class="lineno"> 976</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="line"><a id="l00977" name="l00977"></a><span class="lineno"> 977</span><span class="keyword">inline</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> operator+(<span class="keyword">const</span> T p, <span class="keyword">const</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> &amp;q) {</div>
<div class="line"><a id="l00978" name="l00978"></a><span class="lineno"> 978</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) + q;</div>
<div class="line"><a id="l00979" name="l00979"></a><span class="lineno"> 979</span>}</div>
<div class="line"><a id="l00980" name="l00980"></a><span class="lineno"> 980</span> </div>
<div class="line"><a id="l00981" name="l00981"></a><span class="lineno"> 981</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00982" name="l00982"></a><span class="lineno"> 982</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="line"><a id="l00983" name="l00983"></a><span class="lineno"> 983</span><span class="keyword">inline</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> operator-(<span class="keyword">const</span> T p, <span class="keyword">const</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> &amp;q) {</div>
<div class="line"><a id="l00984" name="l00984"></a><span class="lineno"> 984</span> <span class="keywordflow">return</span> (<a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) - q);</div>
<div class="line"><a id="l00985" name="l00985"></a><span class="lineno"> 985</span>}</div>
<div class="line"><a id="l00986" name="l00986"></a><span class="lineno"> 986</span> </div>
<div class="line"><a id="l00987" name="l00987"></a><span class="lineno"> 987</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00988" name="l00988"></a><span class="lineno"> 988</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="line"><a id="l00989" name="l00989"></a><span class="lineno"> 989</span><span class="keyword">inline</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> operator*(<span class="keyword">const</span> T p, <span class="keyword">const</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> &amp;q) {</div>
<div class="line"><a id="l00990" name="l00990"></a><span class="lineno"> 990</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) * q;</div>
<div class="line"><a id="l00991" name="l00991"></a><span class="lineno"> 991</span>}</div>
<div class="line"><a id="l00992" name="l00992"></a><span class="lineno"> 992</span> </div>
<div class="line"><a id="l00993" name="l00993"></a><span class="lineno"> 993</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l00994" name="l00994"></a><span class="lineno"> 994</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="line"><a id="l00995" name="l00995"></a><span class="lineno"> 995</span><span class="keyword">inline</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> operator/(<span class="keyword">const</span> T p, <span class="keyword">const</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> &amp;q) {</div>
<div class="line"><a id="l00996" name="l00996"></a><span class="lineno"> 996</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) / q;</div>
<div class="line"><a id="l00997" name="l00997"></a><span class="lineno"> 997</span>}</div>
<div class="line"><a id="l00998" name="l00998"></a><span class="lineno"> 998</span> </div>
<div class="line"><a id="l00999" name="l00999"></a><span class="lineno"> 999</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l01000" name="l01000"></a><span class="lineno"> 1000</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="line"><a id="l01001" name="l01001"></a><span class="lineno"> 1001</span><span class="keyword">inline</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> operator%(<span class="keyword">const</span> T p, <span class="keyword">const</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> &amp;q) {</div>
<div class="line"><a id="l01002" name="l01002"></a><span class="lineno"> 1002</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) % q;</div>
<div class="line"><a id="l01003" name="l01003"></a><span class="lineno"> 1003</span>}</div>
<div class="line"><a id="l01004" name="l01004"></a><span class="lineno"> 1004</span> </div>
<div class="line"><a id="l01005" name="l01005"></a><span class="lineno"> 1005</span><span class="comment">// Bitwise operators</span></div>
<div class="line"><a id="l01006" name="l01006"></a><span class="lineno"> 1006</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l01007" name="l01007"></a><span class="lineno"> 1007</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="line"><a id="l01008" name="l01008"></a><span class="lineno"> 1008</span><span class="keyword">inline</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> operator&amp;(<span class="keyword">const</span> T &amp;p, <span class="keyword">const</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> &amp;q) {</div>
<div class="line"><a id="l01009" name="l01009"></a><span class="lineno"> 1009</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) &amp; q;</div>
<div class="line"><a id="l01010" name="l01010"></a><span class="lineno"> 1010</span>}</div>
<div class="line"><a id="l01011" name="l01011"></a><span class="lineno"> 1011</span> </div>
<div class="line"><a id="l01012" name="l01012"></a><span class="lineno"> 1012</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l01013" name="l01013"></a><span class="lineno"> 1013</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="line"><a id="l01014" name="l01014"></a><span class="lineno"> 1014</span><span class="keyword">inline</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> operator|(<span class="keyword">const</span> T p, <span class="keyword">const</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> &amp;q) {</div>
<div class="line"><a id="l01015" name="l01015"></a><span class="lineno"> 1015</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) | q;</div>
<div class="line"><a id="l01016" name="l01016"></a><span class="lineno"> 1016</span>}</div>
<div class="line"><a id="l01017" name="l01017"></a><span class="lineno"> 1017</span> </div>
<div class="line"><a id="l01018" name="l01018"></a><span class="lineno"> 1018</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l01019" name="l01019"></a><span class="lineno"> 1019</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="line"><a id="l01020" name="l01020"></a><span class="lineno"> 1020</span><span class="keyword">inline</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> operator^(<span class="keyword">const</span> T p, <span class="keyword">const</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> &amp;q) {</div>
<div class="line"><a id="l01021" name="l01021"></a><span class="lineno"> 1021</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) ^ q;</div>
<div class="line"><a id="l01022" name="l01022"></a><span class="lineno"> 1022</span>}</div>
<div class="line"><a id="l01023" name="l01023"></a><span class="lineno"> 1023</span> </div>
<div class="line"><a id="l01024" name="l01024"></a><span class="lineno"> 1024</span><span class="comment">// Boolean operators</span></div>
<div class="line"><a id="l01025" name="l01025"></a><span class="lineno"> 1025</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l01026" name="l01026"></a><span class="lineno"> 1026</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="line"><a id="l01027" name="l01027"></a><span class="lineno"> 1027</span><span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&amp;&amp;(<span class="keyword">const</span> T p, <span class="keyword">const</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> &amp;q) {</div>
<div class="line"><a id="l01028" name="l01028"></a><span class="lineno"> 1028</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) &amp;&amp; q;</div>
<div class="line"><a id="l01029" name="l01029"></a><span class="lineno"> 1029</span>}</div>
<div class="line"><a id="l01030" name="l01030"></a><span class="lineno"> 1030</span> </div>
<div class="line"><a id="l01031" name="l01031"></a><span class="lineno"> 1031</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l01032" name="l01032"></a><span class="lineno"> 1032</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="line"><a id="l01033" name="l01033"></a><span class="lineno"> 1033</span><span class="keyword">inline</span> <span class="keywordtype">bool</span> operator||(<span class="keyword">const</span> T p, <span class="keyword">const</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> &amp;q) {</div>
<div class="line"><a id="l01034" name="l01034"></a><span class="lineno"> 1034</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) || q;</div>
<div class="line"><a id="l01035" name="l01035"></a><span class="lineno"> 1035</span>}</div>
<div class="line"><a id="l01036" name="l01036"></a><span class="lineno"> 1036</span> </div>
<div class="line"><a id="l01037" name="l01037"></a><span class="lineno"> 1037</span><span class="comment">// Comparison operators</span></div>
<div class="line"><a id="l01038" name="l01038"></a><span class="lineno"> 1038</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l01039" name="l01039"></a><span class="lineno"> 1039</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="line"><a id="l01040" name="l01040"></a><span class="lineno"> 1040</span><span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> T p, <span class="keyword">const</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> &amp;q) {</div>
<div class="line"><a id="l01041" name="l01041"></a><span class="lineno"> 1041</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) == q;</div>
<div class="line"><a id="l01042" name="l01042"></a><span class="lineno"> 1042</span>}</div>
<div class="line"><a id="l01043" name="l01043"></a><span class="lineno"> 1043</span> </div>
<div class="line"><a id="l01044" name="l01044"></a><span class="lineno"> 1044</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l01045" name="l01045"></a><span class="lineno"> 1045</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="line"><a id="l01046" name="l01046"></a><span class="lineno"> 1046</span><span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> T p, <span class="keyword">const</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> &amp;q) {</div>
<div class="line"><a id="l01047" name="l01047"></a><span class="lineno"> 1047</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) != q;</div>
<div class="line"><a id="l01048" name="l01048"></a><span class="lineno"> 1048</span>}</div>
<div class="line"><a id="l01049" name="l01049"></a><span class="lineno"> 1049</span> </div>
<div class="line"><a id="l01050" name="l01050"></a><span class="lineno"> 1050</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l01051" name="l01051"></a><span class="lineno"> 1051</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="line"><a id="l01052" name="l01052"></a><span class="lineno"> 1052</span><span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&lt;(<span class="keyword">const</span> T p, <span class="keyword">const</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> &amp;q) {</div>
<div class="line"><a id="l01053" name="l01053"></a><span class="lineno"> 1053</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) &lt; q;</div>
<div class="line"><a id="l01054" name="l01054"></a><span class="lineno"> 1054</span>}</div>
<div class="line"><a id="l01055" name="l01055"></a><span class="lineno"> 1055</span> </div>
<div class="line"><a id="l01056" name="l01056"></a><span class="lineno"> 1056</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l01057" name="l01057"></a><span class="lineno"> 1057</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="line"><a id="l01058" name="l01058"></a><span class="lineno"> 1058</span><span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&lt;=(<span class="keyword">const</span> T p, <span class="keyword">const</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> &amp;q) {</div>
<div class="line"><a id="l01059" name="l01059"></a><span class="lineno"> 1059</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) &lt;= q;</div>
<div class="line"><a id="l01060" name="l01060"></a><span class="lineno"> 1060</span>}</div>
<div class="line"><a id="l01061" name="l01061"></a><span class="lineno"> 1061</span> </div>
<div class="line"><a id="l01062" name="l01062"></a><span class="lineno"> 1062</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l01063" name="l01063"></a><span class="lineno"> 1063</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="line"><a id="l01064" name="l01064"></a><span class="lineno"> 1064</span><span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&gt;(<span class="keyword">const</span> T p, <span class="keyword">const</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> &amp;q) {</div>
<div class="line"><a id="l01065" name="l01065"></a><span class="lineno"> 1065</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) &gt; q;</div>
<div class="line"><a id="l01066" name="l01066"></a><span class="lineno"> 1066</span>}</div>
<div class="line"><a id="l01067" name="l01067"></a><span class="lineno"> 1067</span> </div>
<div class="line"><a id="l01068" name="l01068"></a><span class="lineno"> 1068</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keyword">typename</span> std::enable_if&lt;</div>
<div class="line"><a id="l01069" name="l01069"></a><span class="lineno"> 1069</span> std::is_integral&lt;T&gt;::value, T&gt;::type&gt;</div>
<div class="line"><a id="l01070" name="l01070"></a><span class="lineno"> 1070</span><span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&gt;=(<span class="keyword">const</span> T p, <span class="keyword">const</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a> &amp;q) {</div>
<div class="line"><a id="l01071" name="l01071"></a><span class="lineno"> 1071</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) &gt;= q;</div>
<div class="line"><a id="l01072" name="l01072"></a><span class="lineno"> 1072</span>}</div>
<div class="line"><a id="l01073" name="l01073"></a><span class="lineno"> 1073</span> </div>
<div class="line"><a id="l01074" name="l01074"></a><span class="lineno"> 1074</span><span class="preprocessor">#endif </span><span class="comment">// CIPHERS_UINT256_T_HPP_</span></div>
<div class="ttc" id="aclassuint128__t_html"><div class="ttname"><a href="../../db/d9a/classuint128__t.html">uint128_t</a></div><div class="ttdoc">class for 128-bit unsigned integer</div><div class="ttdef"><b>Definition</b> <a href="../../da/d41/uint128__t_8hpp_source.html#l00060">uint128_t.hpp:60</a></div></div>
<div class="ttc" id="aclassuint128__t_html_a1ee2f1ffbd9984faad34883eb45e9705"><div class="ttname"><a href="../../db/d9a/classuint128__t.html#a1ee2f1ffbd9984faad34883eb45e9705">uint128_t::upper</a></div><div class="ttdeci">uint64_t upper() const</div><div class="ttdoc">returns upper 64-bit integer part</div><div class="ttdef"><b>Definition</b> <a href="../../da/d41/uint128__t_8hpp_source.html#l00208">uint128_t.hpp:208</a></div></div>
<div class="ttc" id="aclassuint128__t_html_aa69e1064c0b0b1df1c61acd2ea04fabd"><div class="ttname"><a href="../../db/d9a/classuint128__t.html#aa69e1064c0b0b1df1c61acd2ea04fabd">uint128_t::lower</a></div><div class="ttdeci">uint64_t lower() const</div><div class="ttdoc">returns lower 64-bit integer part</div><div class="ttdef"><b>Definition</b> <a href="../../da/d41/uint128__t_8hpp_source.html#l00202">uint128_t.hpp:202</a></div></div>
<div class="ttc" id="aclassuint256__t_html"><div class="ttname"><a href="../../d1/d83/classuint256__t.html">uint256_t</a></div><div class="ttdoc">class for 256-bit unsigned integer</div><div class="ttdef"><b>Definition</b> <a href="#l00033">uint256_t.hpp:33</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a02616a4a46727b4c158b2b90de8c75c3"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a02616a4a46727b4c158b2b90de8c75c3">uint256_t::uint256_t</a></div><div class="ttdeci">uint256_t(uint128_t high, uint128_t low)</div><div class="ttdoc">Parameterized constructor.</div><div class="ttdef"><b>Definition</b> <a href="#l00103">uint256_t.hpp:103</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a028c585069fa53b74c153667ff66352c"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a028c585069fa53b74c153667ff66352c">uint256_t::operator!</a></div><div class="ttdeci">bool operator!()</div><div class="ttdoc">operator ! for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00596">uint256_t.hpp:596</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a033d66c965e8d1fbc5bafb59ad60e163"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a033d66c965e8d1fbc5bafb59ad60e163">uint256_t::_lez</a></div><div class="ttdeci">uint32_t _lez()</div><div class="ttdoc">Leading zeroes in binary.</div><div class="ttdef"><b>Definition</b> <a href="#l00123">uint256_t.hpp:123</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a092a766421ba5833452e86a2357d7cfa"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a092a766421ba5833452e86a2357d7cfa">uint256_t::uint256_t</a></div><div class="ttdeci">uint256_t(uint256_t &amp;&amp;num) noexcept</div><div class="ttdoc">Move constructor.</div><div class="ttdef"><b>Definition</b> <a href="#l00095">uint256_t.hpp:95</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a0d96ce2d022dc30c2f303ab0698f52f5"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a0d96ce2d022dc30c2f303ab0698f52f5">uint256_t::operator&lt;&lt;=</a></div><div class="ttdeci">uint256_t &amp; operator&lt;&lt;=(const T &amp;p)</div><div class="ttdoc">operator &lt;&lt;= for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00751">uint256_t.hpp:751</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a19c88f8f2736750822b82ef9a7096d88"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a19c88f8f2736750822b82ef9a7096d88">uint256_t::operator&lt;=</a></div><div class="ttdeci">bool operator&lt;=(const uint256_t &amp;other)</div><div class="ttdoc">operator &lt;= for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00552">uint256_t.hpp:552</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a1fa3d95584d071add9b46597d3747b39"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a1fa3d95584d071add9b46597d3747b39">uint256_t::uint256_t</a></div><div class="ttdeci">uint256_t(const std::string &amp;str)</div><div class="ttdoc">Parameterized constructor.</div><div class="ttdef"><b>Definition</b> <a href="#l00081">uint256_t.hpp:81</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a2029e9777f999bffef6004429b4f19f2"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a2029e9777f999bffef6004429b4f19f2">uint256_t::operator&lt;=</a></div><div class="ttdeci">bool operator&lt;=(const T &amp;other)</div><div class="ttdoc">operator &lt;= for other types</div><div class="ttdef"><b>Definition</b> <a href="#l00642">uint256_t.hpp:642</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a20dc3a017b1a740c4bafd3f146a90b0f"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a20dc3a017b1a740c4bafd3f146a90b0f">uint256_t::operator+</a></div><div class="ttdeci">uint256_t operator+(const T &amp;p)</div><div class="ttdoc">operator + for uint256_t and other integer types.</div><div class="ttdef"><b>Definition</b> <a href="#l00220">uint256_t.hpp:220</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a28d26847f9b19a4f86c187791cb0db13"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a28d26847f9b19a4f86c187791cb0db13">uint256_t::operator--</a></div><div class="ttdeci">uint256_t operator--(int p)</div><div class="ttdoc">operator (post-decrement)</div><div class="ttdef"><b>Definition</b> <a href="#l00322">uint256_t.hpp:322</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a2b5f745c05d10fa85ba5c409ad92d052"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a2b5f745c05d10fa85ba5c409ad92d052">uint256_t::uint256_t</a></div><div class="ttdeci">uint256_t(const uint64_t high, const uint64_t low)</div><div class="ttdoc">Parameterized constructor.</div><div class="ttdef"><b>Definition</b> <a href="#l00111">uint256_t.hpp:111</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a2cd43a4a92dc825a010a17578b3bdedb"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a2cd43a4a92dc825a010a17578b3bdedb">uint256_t::operator%=</a></div><div class="ttdeci">uint256_t &amp; operator%=(const uint256_t &amp;p)</div><div class="ttdoc">operator %= for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00520">uint256_t.hpp:520</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a2d7c8a1a5ecaf3e0dcb4bf6b6cff2da2"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a2d7c8a1a5ecaf3e0dcb4bf6b6cff2da2">uint256_t::operator|</a></div><div class="ttdeci">uint256_t operator|(const uint256_t &amp;p)</div><div class="ttdoc">operator | for uint256_t (bitwise operator)</div><div class="ttdef"><b>Definition</b> <a href="#l00865">uint256_t.hpp:865</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a303287d7bc8686dcb47fcb04720ad409"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a303287d7bc8686dcb47fcb04720ad409">uint256_t::operator&amp;&amp;</a></div><div class="ttdeci">bool operator&amp;&amp;(const T &amp;b)</div><div class="ttdoc">operator &amp;&amp; for other types</div><div class="ttdef"><b>Definition</b> <a href="#l00702">uint256_t.hpp:702</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a357cdfee6a79e0484cd1e07511eb9f2d"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a357cdfee6a79e0484cd1e07511eb9f2d">uint256_t::operator&amp;=</a></div><div class="ttdeci">uint256_t &amp; operator&amp;=(const uint256_t &amp;p)</div><div class="ttdoc">operator &amp;= for uint256_t (bitwise operator)</div><div class="ttdef"><b>Definition</b> <a href="#l00829">uint256_t.hpp:829</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a3dc4d3ab175f5f2a3172eb8d99a60fc3"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a3dc4d3ab175f5f2a3172eb8d99a60fc3">uint256_t::operator^=</a></div><div class="ttdeci">uint256_t &amp; operator^=(const T &amp;p)</div><div class="ttdoc">operator ^= for other types (bitwise operator)</div><div class="ttdef"><b>Definition</b> <a href="#l00933">uint256_t.hpp:933</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a3ff17ab14b2371eb3239107d10947067"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a3ff17ab14b2371eb3239107d10947067">uint256_t::~uint256_t</a></div><div class="ttdeci">~uint256_t()=default</div><div class="ttdoc">Destructor for uint256_t.</div></div>
<div class="ttc" id="aclassuint256__t_html_a406c951a07d8173685dbe384c6ab6a06"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a406c951a07d8173685dbe384c6ab6a06">uint256_t::operator-</a></div><div class="ttdeci">uint256_t operator-()</div><div class="ttdoc">operator - using twos complement</div><div class="ttdef"><b>Definition</b> <a href="#l00307">uint256_t.hpp:307</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a41f4bb928c4ee067732503395b65f9d7"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a41f4bb928c4ee067732503395b65f9d7">uint256_t::operator||</a></div><div class="ttdeci">bool operator||(const uint256_t &amp;b)</div><div class="ttdoc">operator || for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00612">uint256_t.hpp:612</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a42bf7490b31d8c750a67fd9bb6f2df2e"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a42bf7490b31d8c750a67fd9bb6f2df2e">uint256_t::uint256_t</a></div><div class="ttdeci">uint256_t(const uint256_t &amp;num)=default</div><div class="ttdoc">Copy constructor.</div></div>
<div class="ttc" id="aclassuint256__t_html_a4645040fe68ff01d83400f173fd2bb21"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a4645040fe68ff01d83400f173fd2bb21">uint256_t::operator*=</a></div><div class="ttdeci">uint256_t &amp; operator*=(const uint256_t &amp;p)</div><div class="ttdoc">operator *= for uint256_t and other integer types.</div><div class="ttdef"><b>Definition</b> <a href="#l00401">uint256_t.hpp:401</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a47a19142e86b7369e18da1fc0a713c51"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a47a19142e86b7369e18da1fc0a713c51">uint256_t::operator&gt;&gt;</a></div><div class="ttdeci">uint256_t operator&gt;&gt;(const T &amp;p)</div><div class="ttdoc">operator &gt;&gt; for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00772">uint256_t.hpp:772</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a4831263abc4430c363fdabce6e6e96d5"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a4831263abc4430c363fdabce6e6e96d5">uint256_t::operator&lt;&lt;</a></div><div class="ttdeci">uint256_t operator&lt;&lt;(const T &amp;p)</div><div class="ttdoc">operator &lt;&lt; for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00733">uint256_t.hpp:733</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a4886747ffff15cdeb6bc93712629f9e7"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a4886747ffff15cdeb6bc93712629f9e7">uint256_t::operator||</a></div><div class="ttdeci">bool operator||(const T &amp;b)</div><div class="ttdoc">operator || for other types</div><div class="ttdef"><b>Definition</b> <a href="#l00715">uint256_t.hpp:715</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a4c6db67d21c4927a45a4e1e7c2357bfc"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a4c6db67d21c4927a45a4e1e7c2357bfc">uint256_t::operator=</a></div><div class="ttdeci">uint256_t &amp; operator=(const uint256_t &amp;p)=default</div><div class="ttdoc">operator = for uint256_t</div></div>
<div class="ttc" id="aclassuint256__t_html_a4fdeb4d4bf8cca4ee99b8487e59831df"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a4fdeb4d4bf8cca4ee99b8487e59831df">uint256_t::operator/</a></div><div class="ttdeci">uint256_t operator/(const uint256_t &amp;p)</div><div class="ttdoc">operator / for uint256_t and other integer types.</div><div class="ttdef"><b>Definition</b> <a href="#l00469">uint256_t.hpp:469</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a5363ec0f36de1a8a9c985907db4e95d1"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a5363ec0f36de1a8a9c985907db4e95d1">uint256_t::operator+=</a></div><div class="ttdeci">uint256_t &amp; operator+=(const T &amp;p)</div><div class="ttdoc">operator += for uint256_t and other integer types.</div><div class="ttdef"><b>Definition</b> <a href="#l00243">uint256_t.hpp:243</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a5e84ed2a2f99cee81ede4a0107702a45"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a5e84ed2a2f99cee81ede4a0107702a45">uint256_t::operator-=</a></div><div class="ttdeci">uint256_t &amp; operator-=(const uint256_t &amp;p)</div><div class="ttdoc">operator -= for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00347">uint256_t.hpp:347</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a6c5e025f901f6af4b748f98013350638"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a6c5e025f901f6af4b748f98013350638">uint256_t::operator=</a></div><div class="ttdeci">uint256_t &amp; operator=(uint256_t &amp;&amp;p)=default</div><div class="ttdoc">Move assignment operator.</div></div>
<div class="ttc" id="aclassuint256__t_html_a6eadaa829087e07eebafca3981566bb8"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a6eadaa829087e07eebafca3981566bb8">uint256_t::operator&amp;</a></div><div class="ttdeci">uint256_t operator&amp;(const T &amp;p)</div><div class="ttdoc">operator &amp; for other types (bitwise operator)</div><div class="ttdef"><b>Definition</b> <a href="#l00811">uint256_t.hpp:811</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a6eec1f632aebfc44fee8a74c395e10c2"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a6eec1f632aebfc44fee8a74c395e10c2">uint256_t::operator~</a></div><div class="ttdeci">uint256_t operator~()</div><div class="ttdoc">operator ~ for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00723">uint256_t.hpp:723</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a74d1e1dd8cd2b31e00813ed939943be7"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a74d1e1dd8cd2b31e00813ed939943be7">uint256_t::operator^</a></div><div class="ttdeci">uint256_t operator^(const uint256_t &amp;p)</div><div class="ttdoc">operator ^ for uint256_t (bitwise operator)</div><div class="ttdef"><b>Definition</b> <a href="#l00910">uint256_t.hpp:910</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a76914bc727eab927a3941ef71275327d"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a76914bc727eab927a3941ef71275327d">uint256_t::operator%=</a></div><div class="ttdeci">uint256_t &amp; operator%=(const T &amp;p)</div><div class="ttdoc">operator %= for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00533">uint256_t.hpp:533</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a7ac99dea14428200f0101452293e2b3b"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a7ac99dea14428200f0101452293e2b3b">uint256_t::operator()</a></div><div class="ttdeci">bool operator()()</div><div class="ttdoc">operator () for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00620">uint256_t.hpp:620</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a7bbe36e2ebd52df5efab118897b3050c"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a7bbe36e2ebd52df5efab118897b3050c">uint256_t::operator++</a></div><div class="ttdeci">uint256_t operator++(int)</div><div class="ttdoc">post-increment operator</div><div class="ttdef"><b>Definition</b> <a href="#l00275">uint256_t.hpp:275</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a7bd9693b88c4df08b1f8d1fd81c597cc"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a7bd9693b88c4df08b1f8d1fd81c597cc">uint256_t::operator%</a></div><div class="ttdeci">uint256_t operator%(const T &amp;p)</div><div class="ttdoc">operator % for uint256_t and other integer types.</div><div class="ttdef"><b>Definition</b> <a href="#l00509">uint256_t.hpp:509</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a8161d52d369e525f4e61129376adfcf1"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a8161d52d369e525f4e61129376adfcf1">uint256_t::divide</a></div><div class="ttdeci">std::pair&lt; uint256_t, uint256_t &gt; divide(const uint256_t &amp;p)</div><div class="ttdoc">divide function for uint256_t and other integer types.</div><div class="ttdef"><b>Definition</b> <a href="#l00421">uint256_t.hpp:421</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a86aab081bb7db2771e4a4f30c3eed8e2"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a86aab081bb7db2771e4a4f30c3eed8e2">uint256_t::operator=</a></div><div class="ttdeci">uint256_t &amp; operator=(const std::string &amp;p)</div><div class="ttdoc">operator = for type string</div><div class="ttdef"><b>Definition</b> <a href="#l00202">uint256_t.hpp:202</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a88978d00fa6a624c50c2737dc2c294b4"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a88978d00fa6a624c50c2737dc2c294b4">uint256_t::operator-</a></div><div class="ttdeci">uint256_t operator-(const T &amp;p)</div><div class="ttdoc">operator - for uint256_t and other integer types.</div><div class="ttdef"><b>Definition</b> <a href="#l00288">uint256_t.hpp:288</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a89cf7fa466458ee08edd9a809d072bcb"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a89cf7fa466458ee08edd9a809d072bcb">uint256_t::operator!=</a></div><div class="ttdeci">bool operator!=(const T &amp;other)</div><div class="ttdoc">operator != for other types</div><div class="ttdef"><b>Definition</b> <a href="#l00690">uint256_t.hpp:690</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a90ce75bec5b525de55bbf92c564a2261"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a90ce75bec5b525de55bbf92c564a2261">uint256_t::operator==</a></div><div class="ttdeci">bool operator==(const uint256_t &amp;other)</div><div class="ttdoc">operator == for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00579">uint256_t.hpp:579</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a91badfd31be84b12cbb6d85ebc04d13a"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a91badfd31be84b12cbb6d85ebc04d13a">uint256_t::operator&lt;&lt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&lt;&lt;(std::ostream &amp;op, uint256_t p)</div><div class="ttdoc">operator &lt;&lt; for printing uint256_t integer</div><div class="ttdef"><b>Definition</b> <a href="#l00947">uint256_t.hpp:947</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a9879f7ec85fc148e1931fcb492ddc484"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a9879f7ec85fc148e1931fcb492ddc484">uint256_t::operator==</a></div><div class="ttdeci">bool operator==(const T &amp;other)</div><div class="ttdoc">operator == for other types</div><div class="ttdef"><b>Definition</b> <a href="#l00678">uint256_t.hpp:678</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a9bc6cc460108306a59281ce4ca216839"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a9bc6cc460108306a59281ce4ca216839">uint256_t::operator&amp;</a></div><div class="ttdeci">uint256_t operator&amp;(const uint256_t &amp;p)</div><div class="ttdoc">operator &amp; for uint256_t (bitwise operator)</div><div class="ttdef"><b>Definition</b> <a href="#l00820">uint256_t.hpp:820</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a9ddd133cee83f3a2ab6ed60a7ccbc250"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a9ddd133cee83f3a2ab6ed60a7ccbc250">uint256_t::_trz</a></div><div class="ttdeci">uint32_t _trz()</div><div class="ttdoc">Trailing zeroes in binary.</div><div class="ttdef"><b>Definition</b> <a href="#l00135">uint256_t.hpp:135</a></div></div>
<div class="ttc" id="aclassuint256__t_html_a9f6f3e39783c893473315bada864a183"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#a9f6f3e39783c893473315bada864a183">uint256_t::operator--</a></div><div class="ttdeci">uint256_t &amp; operator--()</div><div class="ttdoc">operator (pre-decrement)</div><div class="ttdef"><b>Definition</b> <a href="#l00313">uint256_t.hpp:313</a></div></div>
<div class="ttc" id="aclassuint256__t_html_aa0e532832640e9fe273b35c481b18963"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#aa0e532832640e9fe273b35c481b18963">uint256_t::operator&amp;&amp;</a></div><div class="ttdeci">bool operator&amp;&amp;(const uint256_t &amp;b)</div><div class="ttdoc">operator &amp;&amp; for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00603">uint256_t.hpp:603</a></div></div>
<div class="ttc" id="aclassuint256__t_html_aa28ae272e9176557133a10dffa3b94dc"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#aa28ae272e9176557133a10dffa3b94dc">uint256_t::operator|=</a></div><div class="ttdeci">uint256_t &amp; operator|=(const uint256_t &amp;p)</div><div class="ttdoc">operator |= for uint256_t (bitwise operator)</div><div class="ttdef"><b>Definition</b> <a href="#l00887">uint256_t.hpp:887</a></div></div>
<div class="ttc" id="aclassuint256__t_html_aa4cf08fa6a33f17594b5a842866f39a1"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#aa4cf08fa6a33f17594b5a842866f39a1">uint256_t::lower</a></div><div class="ttdeci">uint128_t lower() const</div><div class="ttdoc">returns lower 128-bit integer part</div><div class="ttdef"><b>Definition</b> <a href="#l00169">uint256_t.hpp:169</a></div></div>
<div class="ttc" id="aclassuint256__t_html_aa9e585b186e71d7cbe9c1d7387c38967"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#aa9e585b186e71d7cbe9c1d7387c38967">uint256_t::operator*</a></div><div class="ttdeci">uint256_t operator*(const uint256_t &amp;p)</div><div class="ttdoc">operator * for uint256_t and other integer types.</div><div class="ttdef"><b>Definition</b> <a href="#l00371">uint256_t.hpp:371</a></div></div>
<div class="ttc" id="aclassuint256__t_html_aaca9288fd28fc07e1386f1586bd51616"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#aaca9288fd28fc07e1386f1586bd51616">uint256_t::operator*</a></div><div class="ttdeci">uint256_t operator*(const T &amp;p)</div><div class="ttdoc">operator * for uint256_t and other integer types.</div><div class="ttdef"><b>Definition</b> <a href="#l00362">uint256_t.hpp:362</a></div></div>
<div class="ttc" id="aclassuint256__t_html_aae68a7bd17c14a926fb77758b5c8e547"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#aae68a7bd17c14a926fb77758b5c8e547">uint256_t::operator!=</a></div><div class="ttdeci">bool operator!=(const uint256_t &amp;other)</div><div class="ttdoc">operator != for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00588">uint256_t.hpp:588</a></div></div>
<div class="ttc" id="aclassuint256__t_html_ab909ef62a0c85121e7d743c016fb723d"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#ab909ef62a0c85121e7d743c016fb723d">uint256_t::operator-</a></div><div class="ttdeci">uint256_t operator-(const uint256_t &amp;p)</div><div class="ttdoc">operator - for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00298">uint256_t.hpp:298</a></div></div>
<div class="ttc" id="aclassuint256__t_html_abc793979ec70bb8e5cf177d83649a259"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#abc793979ec70bb8e5cf177d83649a259">uint256_t::operator/=</a></div><div class="ttdeci">uint256_t &amp; operator/=(const T &amp;p)</div><div class="ttdoc">operator /= for uint256_t and other integer types.</div><div class="ttdef"><b>Definition</b> <a href="#l00489">uint256_t.hpp:489</a></div></div>
<div class="ttc" id="aclassuint256__t_html_ac1b36e64de42f3622e7d6ec5efa273d4"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#ac1b36e64de42f3622e7d6ec5efa273d4">uint256_t::operator/=</a></div><div class="ttdeci">uint256_t &amp; operator/=(const uint256_t &amp;p)</div><div class="ttdoc">operator /= for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00476">uint256_t.hpp:476</a></div></div>
<div class="ttc" id="aclassuint256__t_html_ac6bdcf64653af8173987bf7217e99056"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#ac6bdcf64653af8173987bf7217e99056">uint256_t::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const T &amp;other)</div><div class="ttdoc">operator &lt; for other types</div><div class="ttdef"><b>Definition</b> <a href="#l00630">uint256_t.hpp:630</a></div></div>
<div class="ttc" id="aclassuint256__t_html_ac75a46fe3625caf10e07db1eb75a1d6e"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#ac75a46fe3625caf10e07db1eb75a1d6e">uint256_t::operator+=</a></div><div class="ttdeci">uint256_t &amp; operator+=(const uint256_t &amp;p)</div><div class="ttdoc">operator += for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00255">uint256_t.hpp:255</a></div></div>
<div class="ttc" id="aclassuint256__t_html_ac92ac0b2368990fbbaf3cca3ee8247d7"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#ac92ac0b2368990fbbaf3cca3ee8247d7">uint256_t::operator^=</a></div><div class="ttdeci">uint256_t &amp; operator^=(const uint256_t &amp;p)</div><div class="ttdoc">operator ^= for uint256_t (bitwise operator)</div><div class="ttdef"><b>Definition</b> <a href="#l00919">uint256_t.hpp:919</a></div></div>
<div class="ttc" id="aclassuint256__t_html_acac9901ab133caa57d058a377d873bf6"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#acac9901ab133caa57d058a377d873bf6">uint256_t::operator/</a></div><div class="ttdeci">uint256_t operator/(const T &amp;p)</div><div class="ttdoc">operator / for uint256_t and other integer types.</div><div class="ttdef"><b>Definition</b> <a href="#l00458">uint256_t.hpp:458</a></div></div>
<div class="ttc" id="aclassuint256__t_html_acadd235e0029ec43d5990d24affaf42d"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#acadd235e0029ec43d5990d24affaf42d">uint256_t::operator&gt;</a></div><div class="ttdeci">bool operator&gt;(const uint256_t &amp;other)</div><div class="ttdoc">operator &gt; for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00561">uint256_t.hpp:561</a></div></div>
<div class="ttc" id="aclassuint256__t_html_acb61fe17d064c61adc02defa651f9a5e"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#acb61fe17d064c61adc02defa651f9a5e">uint256_t::operator^</a></div><div class="ttdeci">uint256_t operator^(const T &amp;p)</div><div class="ttdoc">operator ^ for other types (bitwise operator)</div><div class="ttdef"><b>Definition</b> <a href="#l00901">uint256_t.hpp:901</a></div></div>
<div class="ttc" id="aclassuint256__t_html_acd3970c633eb2c597874e2712392f0c7"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#acd3970c633eb2c597874e2712392f0c7">uint256_t::operator-=</a></div><div class="ttdeci">uint256_t operator-=(const T p)</div><div class="ttdoc">operator -= for uint256_t and other integer types.</div><div class="ttdef"><b>Definition</b> <a href="#l00335">uint256_t.hpp:335</a></div></div>
<div class="ttc" id="aclassuint256__t_html_acefecc3b1a4044f2be5ab46eea0099bf"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#acefecc3b1a4044f2be5ab46eea0099bf">uint256_t::operator|</a></div><div class="ttdeci">uint256_t operator|(const T &amp;p)</div><div class="ttdoc">operator | for other types (bitwise operator)</div><div class="ttdef"><b>Definition</b> <a href="#l00856">uint256_t.hpp:856</a></div></div>
<div class="ttc" id="aclassuint256__t_html_ad4928175eaaaa2b559bc945affe63ad2"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#ad4928175eaaaa2b559bc945affe63ad2">uint256_t::operator%</a></div><div class="ttdeci">uint256_t operator%(const uint256_t &amp;p)</div><div class="ttdoc">operator % for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00499">uint256_t.hpp:499</a></div></div>
<div class="ttc" id="aclassuint256__t_html_ad74d33215517459c2b33ace7a9c6bc13"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#ad74d33215517459c2b33ace7a9c6bc13">uint256_t::operator&gt;</a></div><div class="ttdeci">bool operator&gt;(const T &amp;other)</div><div class="ttdoc">operator &gt; for other types</div><div class="ttdef"><b>Definition</b> <a href="#l00654">uint256_t.hpp:654</a></div></div>
<div class="ttc" id="aclassuint256__t_html_ad9ce2370b1497efbcc426793048e1f78"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#ad9ce2370b1497efbcc426793048e1f78">uint256_t::operator&gt;&gt;=</a></div><div class="ttdeci">uint256_t &amp; operator&gt;&gt;=(const T &amp;p)</div><div class="ttdoc">operator &gt;&gt;= for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00790">uint256_t.hpp:790</a></div></div>
<div class="ttc" id="aclassuint256__t_html_addff5645f6005e7b50a6ad0731e4f19c"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#addff5645f6005e7b50a6ad0731e4f19c">uint256_t::operator=</a></div><div class="ttdeci">uint256_t &amp; operator=(const T &amp;p)</div><div class="ttdoc">operator = for other types</div><div class="ttdef"><b>Definition</b> <a href="#l00192">uint256_t.hpp:192</a></div></div>
<div class="ttc" id="aclassuint256__t_html_adf09395f9113a69a05fed7e25b46c8ad"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#adf09395f9113a69a05fed7e25b46c8ad">uint256_t::operator&gt;=</a></div><div class="ttdeci">bool operator&gt;=(const uint256_t &amp;other)</div><div class="ttdoc">operator &gt;= for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00570">uint256_t.hpp:570</a></div></div>
<div class="ttc" id="aclassuint256__t_html_aecb2883133c8c8b9fcfb77ab69b03ab5"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#aecb2883133c8c8b9fcfb77ab69b03ab5">uint256_t::upper</a></div><div class="ttdeci">uint128_t upper() const</div><div class="ttdoc">returns upper 128-bit integer part</div><div class="ttdef"><b>Definition</b> <a href="#l00175">uint256_t.hpp:175</a></div></div>
<div class="ttc" id="aclassuint256__t_html_aed0f8c3d5be23644c4bcb2fd2551e1dc"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#aed0f8c3d5be23644c4bcb2fd2551e1dc">uint256_t::uint256_t</a></div><div class="ttdeci">uint256_t(T low)</div><div class="ttdoc">Parameterized constructor.</div><div class="ttdef"><b>Definition</b> <a href="#l00075">uint256_t.hpp:75</a></div></div>
<div class="ttc" id="aclassuint256__t_html_af0a6e09fcf1cbf234ed32df6d7265a0b"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#af0a6e09fcf1cbf234ed32df6d7265a0b">uint256_t::operator|=</a></div><div class="ttdeci">uint256_t &amp; operator|=(const T &amp;p)</div><div class="ttdoc">operator |= for other types (bitwise operator)</div><div class="ttdef"><b>Definition</b> <a href="#l00877">uint256_t.hpp:877</a></div></div>
<div class="ttc" id="aclassuint256__t_html_af0ad4080bb5ddc16b54a7e87911005c9"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#af0ad4080bb5ddc16b54a7e87911005c9">uint256_t::operator++</a></div><div class="ttdeci">uint256_t &amp; operator++()</div><div class="ttdoc">pre-increment operator</div><div class="ttdef"><b>Definition</b> <a href="#l00266">uint256_t.hpp:266</a></div></div>
<div class="ttc" id="aclassuint256__t_html_af18e2e3d7ed635c4056062bc906fef75"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#af18e2e3d7ed635c4056062bc906fef75">uint256_t::operator+</a></div><div class="ttdeci">uint256_t operator+(const uint256_t &amp;p)</div><div class="ttdoc">operator + for uint256_t and other integer types.</div><div class="ttdef"><b>Definition</b> <a href="#l00230">uint256_t.hpp:230</a></div></div>
<div class="ttc" id="aclassuint256__t_html_af2193ff0d0e93143fb71f4847df16028"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#af2193ff0d0e93143fb71f4847df16028">uint256_t::operator*=</a></div><div class="ttdeci">uint256_t &amp; operator*=(const T &amp;p)</div><div class="ttdoc">operator *= for uint256_t and other integer types.</div><div class="ttdef"><b>Definition</b> <a href="#l00392">uint256_t.hpp:392</a></div></div>
<div class="ttc" id="aclassuint256__t_html_afa79020c27caea31236d04ecaa0e5ef5"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#afa79020c27caea31236d04ecaa0e5ef5">uint256_t::operator&amp;=</a></div><div class="ttdeci">uint256_t &amp; operator&amp;=(const T p)</div><div class="ttdoc">operator &amp;= for other types (bitwise operator)</div><div class="ttdef"><b>Definition</b> <a href="#l00843">uint256_t.hpp:843</a></div></div>
<div class="ttc" id="aclassuint256__t_html_afe9f4828d73dd51a080585dd0b99af96"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#afe9f4828d73dd51a080585dd0b99af96">uint256_t::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const uint256_t &amp;other)</div><div class="ttdoc">operator &lt; for uint256_t</div><div class="ttdef"><b>Definition</b> <a href="#l00543">uint256_t.hpp:543</a></div></div>
<div class="ttc" id="aclassuint256__t_html_afee82fa5052e9d8c946b9205b943cec4"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#afee82fa5052e9d8c946b9205b943cec4">uint256_t::__get_integer_from_string</a></div><div class="ttdeci">void __get_integer_from_string(const std::string &amp;str)</div><div class="ttdoc">First and second half of 256 bit number.</div><div class="ttdef"><b>Definition</b> <a href="#l00043">uint256_t.hpp:43</a></div></div>
<div class="ttc" id="aclassuint256__t_html_aff4d49cf84de64301b169ad974f00bad"><div class="ttname"><a href="../../d1/d83/classuint256__t.html#aff4d49cf84de64301b169ad974f00bad">uint256_t::operator&gt;=</a></div><div class="ttdeci">bool operator&gt;=(const T &amp;other)</div><div class="ttdoc">operator &gt;= for other types</div><div class="ttdef"><b>Definition</b> <a href="#l00666">uint256_t.hpp:666</a></div></div>
<div class="ttc" id="auint128__t_8hpp_html"><div class="ttname"><a href="../../da/d41/uint128__t_8hpp.html">uint128_t.hpp</a></div></div>
<div class="ttc" id="auint128__t_8hpp_html_a3ff77262ffd6743df5b808d41382a6f3"><div class="ttname"><a href="../../da/d41/uint128__t_8hpp.html#a3ff77262ffd6743df5b808d41382a6f3">add</a></div><div class="ttdeci">std::string add(const std::string &amp;first, const std::string &amp;second)</div><div class="ttdoc">Adding two string.</div><div class="ttdef"><b>Definition</b> <a href="../../da/d41/uint128__t_8hpp_source.html#l00038">uint128_t.hpp:38</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a href="../../dir_4d6e05837bf820fb089a8a8cdf2f42b7.html">ciphers</a></li><li class="navelem"><a href="../../da/da3/uint256__t_8hpp.html">uint256_t.hpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>