blob: f95d1b384c6a3523b338f16637966b8a572f90db [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>AMCL: big_256_56.h File Reference</title>
<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>
<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/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.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 style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">AMCL
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</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');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- 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">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_df7310d1a865926cc859bcfb1880083f.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">big_256_56.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>BIG Header File.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br />
<code>#include &lt;stdlib.h&gt;</code><br />
<code>#include &lt;inttypes.h&gt;</code><br />
<code>#include &quot;<a class="el" href="arch_8h_source.html">arch.h</a>&quot;</code><br />
<code>#include &quot;amcl.h&quot;</code><br />
<code>#include &quot;<a class="el" href="config__big__256__56_8h_source.html">config_big_256_56.h</a>&quot;</code><br />
</div>
<p><a href="big__256__56_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a1a77f9a8aca3f6f0a3a3c95a129c6142"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a1a77f9a8aca3f6f0a3a3c95a129c6142">BIGBITS_256_56</a>&#160;&#160;&#160;(8*<a class="el" href="config__big__256__56_8h.html#ab45850a8aedd0d0a0a7c5f2cc09aba9e">MODBYTES_256_56</a>)</td></tr>
<tr class="separator:a1a77f9a8aca3f6f0a3a3c95a129c6142"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c25819d00f7df64955ee1c77609e309"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a4c25819d00f7df64955ee1c77609e309">NLEN_256_56</a>&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__256__56_8h.html#ab45850a8aedd0d0a0a7c5f2cc09aba9e">MODBYTES_256_56</a>-1)/<a class="el" href="config__big__256__56_8h.html#ac6cb0299279eb5c9a07bccfd297f1b40">BASEBITS_256_56</a>))</td></tr>
<tr class="separator:a4c25819d00f7df64955ee1c77609e309"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0ef2169da39807adbf4e20e99b48437"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#ac0ef2169da39807adbf4e20e99b48437">DNLEN_256_56</a>&#160;&#160;&#160;2*<a class="el" href="big__256__56_8h.html#a4c25819d00f7df64955ee1c77609e309">NLEN_256_56</a></td></tr>
<tr class="separator:ac0ef2169da39807adbf4e20e99b48437"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a654f923f35390eab504ed90f184a4aae"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a654f923f35390eab504ed90f184a4aae">BMASK_256_56</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__256__56_8h.html#ac6cb0299279eb5c9a07bccfd297f1b40">BASEBITS_256_56</a>)-1)</td></tr>
<tr class="separator:a654f923f35390eab504ed90f184a4aae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb2364526460e9b2121ae38a6bd46944"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#abb2364526460e9b2121ae38a6bd46944">NEXCESS_256_56</a>&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__256__56_8h.html#ac6cb0299279eb5c9a07bccfd297f1b40">BASEBITS_256_56</a>-1))</td></tr>
<tr class="separator:abb2364526460e9b2121ae38a6bd46944"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9de3212703b203df789675e419950b50"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a9de3212703b203df789675e419950b50">HBITS_256_56</a>&#160;&#160;&#160;(<a class="el" href="config__big__256__56_8h.html#ac6cb0299279eb5c9a07bccfd297f1b40">BASEBITS_256_56</a>/2)</td></tr>
<tr class="separator:a9de3212703b203df789675e419950b50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80538a998337c358f552c8a20c099c9b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a80538a998337c358f552c8a20c099c9b">HMASK_256_56</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__256__56_8h.html#a9de3212703b203df789675e419950b50">HBITS_256_56</a>)-1)</td></tr>
<tr class="separator:a80538a998337c358f552c8a20c099c9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:abea3e70a8a87f28329ed8e48af7bb244"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>[<a class="el" href="big__256__56_8h.html#a4c25819d00f7df64955ee1c77609e309">NLEN_256_56</a>]</td></tr>
<tr class="separator:abea3e70a8a87f28329ed8e48af7bb244"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6183570cd770f0ce6be0d94a42ee465a"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>[<a class="el" href="big__256__56_8h.html#ac0ef2169da39807adbf4e20e99b48437">DNLEN_256_56</a>]</td></tr>
<tr class="separator:a6183570cd770f0ce6be0d94a42ee465a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ac13c91de6deefb2098a17f7081984384"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#ac13c91de6deefb2098a17f7081984384">BIG_256_56_iszilch</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x)</td></tr>
<tr class="memdesc:ac13c91de6deefb2098a17f7081984384"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to zero. <a href="#ac13c91de6deefb2098a17f7081984384">More...</a><br /></td></tr>
<tr class="separator:ac13c91de6deefb2098a17f7081984384"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae636476adf911162915969bf70750f45"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#ae636476adf911162915969bf70750f45">BIG_256_56_isunity</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x)</td></tr>
<tr class="memdesc:ae636476adf911162915969bf70750f45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to one. <a href="#ae636476adf911162915969bf70750f45">More...</a><br /></td></tr>
<tr class="separator:ae636476adf911162915969bf70750f45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a324d5660ea8931291a7284b3b6de93e1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a324d5660ea8931291a7284b3b6de93e1">BIG_256_56_diszilch</a> (<a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x)</td></tr>
<tr class="memdesc:a324d5660ea8931291a7284b3b6de93e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for DBIG equal to zero. <a href="#a324d5660ea8931291a7284b3b6de93e1">More...</a><br /></td></tr>
<tr class="separator:a324d5660ea8931291a7284b3b6de93e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90c090098ac877b38930f0fc1533006a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a90c090098ac877b38930f0fc1533006a">BIG_256_56_output</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x)</td></tr>
<tr class="memdesc:a90c090098ac877b38930f0fc1533006a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console. <a href="#a90c090098ac877b38930f0fc1533006a">More...</a><br /></td></tr>
<tr class="separator:a90c090098ac877b38930f0fc1533006a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dab0615b4c1b3e76fccca81aa7fe305"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a7dab0615b4c1b3e76fccca81aa7fe305">BIG_256_56_rawoutput</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x)</td></tr>
<tr class="memdesc:a7dab0615b4c1b3e76fccca81aa7fe305"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console in raw form (for debugging) <a href="#a7dab0615b4c1b3e76fccca81aa7fe305">More...</a><br /></td></tr>
<tr class="separator:a7dab0615b4c1b3e76fccca81aa7fe305"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85c9d556d3f7900217847a7b091eafec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a85c9d556d3f7900217847a7b091eafec">BIG_256_56_cswap</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y, int s)</td></tr>
<tr class="memdesc:a85c9d556d3f7900217847a7b091eafec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional constant time swap of two BIG numbers. <a href="#a85c9d556d3f7900217847a7b091eafec">More...</a><br /></td></tr>
<tr class="separator:a85c9d556d3f7900217847a7b091eafec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada66c853edcbaebdd452bc0427fc22d1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#ada66c853edcbaebdd452bc0427fc22d1">BIG_256_56_cmove</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y, int s)</td></tr>
<tr class="memdesc:ada66c853edcbaebdd452bc0427fc22d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of BIG number. <a href="#ada66c853edcbaebdd452bc0427fc22d1">More...</a><br /></td></tr>
<tr class="separator:ada66c853edcbaebdd452bc0427fc22d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5310a826307911d6af7cb936b7e79370"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a5310a826307911d6af7cb936b7e79370">BIG_256_56_dcmove</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y, int s)</td></tr>
<tr class="memdesc:a5310a826307911d6af7cb936b7e79370"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of DBIG number. <a href="#a5310a826307911d6af7cb936b7e79370">More...</a><br /></td></tr>
<tr class="separator:a5310a826307911d6af7cb936b7e79370"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4d7e429da003447d680466dd428d514"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#ad4d7e429da003447d680466dd428d514">BIG_256_56_toBytes</a> (char *a, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x)</td></tr>
<tr class="memdesc:ad4d7e429da003447d680466dd428d514"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from BIG number to byte array. <a href="#ad4d7e429da003447d680466dd428d514">More...</a><br /></td></tr>
<tr class="separator:ad4d7e429da003447d680466dd428d514"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80abfe28372008df098b91281cee9db6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a80abfe28372008df098b91281cee9db6">BIG_256_56_fromBytes</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, char *a)</td></tr>
<tr class="memdesc:a80abfe28372008df098b91281cee9db6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array. <a href="#a80abfe28372008df098b91281cee9db6">More...</a><br /></td></tr>
<tr class="separator:a80abfe28372008df098b91281cee9db6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab22e2947678113edf042d0fb64c3c92f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#ab22e2947678113edf042d0fb64c3c92f">BIG_256_56_fromBytesLen</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, char *a, int s)</td></tr>
<tr class="memdesc:ab22e2947678113edf042d0fb64c3c92f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array of given length. <a href="#ab22e2947678113edf042d0fb64c3c92f">More...</a><br /></td></tr>
<tr class="separator:ab22e2947678113edf042d0fb64c3c92f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea2c9721a0f4ebb9ebba811745126c34"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#aea2c9721a0f4ebb9ebba811745126c34">BIG_256_56_dfromBytesLen</a> (<a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x, char *a, int s)</td></tr>
<tr class="memdesc:aea2c9721a0f4ebb9ebba811745126c34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to DBIG number from byte array of given length. <a href="#aea2c9721a0f4ebb9ebba811745126c34">More...</a><br /></td></tr>
<tr class="separator:aea2c9721a0f4ebb9ebba811745126c34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbf2e441d8f1b0657612621b8b65be87"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#adbf2e441d8f1b0657612621b8b65be87">BIG_256_56_doutput</a> (<a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x)</td></tr>
<tr class="memdesc:adbf2e441d8f1b0657612621b8b65be87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console. <a href="#adbf2e441d8f1b0657612621b8b65be87">More...</a><br /></td></tr>
<tr class="separator:adbf2e441d8f1b0657612621b8b65be87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e709031a4a9a2b25820bef34ef2ab1f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a7e709031a4a9a2b25820bef34ef2ab1f">BIG_256_56_drawoutput</a> (<a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x)</td></tr>
<tr class="memdesc:a7e709031a4a9a2b25820bef34ef2ab1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console. <a href="#a7e709031a4a9a2b25820bef34ef2ab1f">More...</a><br /></td></tr>
<tr class="separator:a7e709031a4a9a2b25820bef34ef2ab1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ad61321234a88125b2b15ada3366cea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a3ad61321234a88125b2b15ada3366cea">BIG_256_56_rcopy</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y)</td></tr>
<tr class="memdesc:a3ad61321234a88125b2b15ada3366cea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG from Read-Only Memory to a BIG. <a href="#a3ad61321234a88125b2b15ada3366cea">More...</a><br /></td></tr>
<tr class="separator:a3ad61321234a88125b2b15ada3366cea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9ca2de3d023808394170fe5cbfeb4a1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#ab9ca2de3d023808394170fe5cbfeb4a1">BIG_256_56_copy</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y)</td></tr>
<tr class="memdesc:ab9ca2de3d023808394170fe5cbfeb4a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to another BIG. <a href="#ab9ca2de3d023808394170fe5cbfeb4a1">More...</a><br /></td></tr>
<tr class="separator:ab9ca2de3d023808394170fe5cbfeb4a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97d508aa48ce8ec7cc182a3b63136725"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a97d508aa48ce8ec7cc182a3b63136725">BIG_256_56_dcopy</a> (<a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> y)</td></tr>
<tr class="memdesc:a97d508aa48ce8ec7cc182a3b63136725"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy DBIG to another DBIG. <a href="#a97d508aa48ce8ec7cc182a3b63136725">More...</a><br /></td></tr>
<tr class="separator:a97d508aa48ce8ec7cc182a3b63136725"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9569d112833f0400bfb7c0e4451a2947"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a9569d112833f0400bfb7c0e4451a2947">BIG_256_56_dsucopy</a> (<a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y)</td></tr>
<tr class="memdesc:a9569d112833f0400bfb7c0e4451a2947"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to upper half of DBIG. <a href="#a9569d112833f0400bfb7c0e4451a2947">More...</a><br /></td></tr>
<tr class="separator:a9569d112833f0400bfb7c0e4451a2947"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8acdb6265dd58d447b477296828d7816"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a8acdb6265dd58d447b477296828d7816">BIG_256_56_dscopy</a> (<a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y)</td></tr>
<tr class="memdesc:a8acdb6265dd58d447b477296828d7816"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to lower half of DBIG. <a href="#a8acdb6265dd58d447b477296828d7816">More...</a><br /></td></tr>
<tr class="separator:a8acdb6265dd58d447b477296828d7816"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b46a5704c6c9451e28efd19d422c8b4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a2b46a5704c6c9451e28efd19d422c8b4">BIG_256_56_sdcopy</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> y)</td></tr>
<tr class="memdesc:a2b46a5704c6c9451e28efd19d422c8b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy lower half of DBIG to a BIG. <a href="#a2b46a5704c6c9451e28efd19d422c8b4">More...</a><br /></td></tr>
<tr class="separator:a2b46a5704c6c9451e28efd19d422c8b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7a0863f1ff16c84466ffb5aa5faa084"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#ac7a0863f1ff16c84466ffb5aa5faa084">BIG_256_56_sducopy</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> y)</td></tr>
<tr class="memdesc:ac7a0863f1ff16c84466ffb5aa5faa084"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy upper half of DBIG to a BIG. <a href="#ac7a0863f1ff16c84466ffb5aa5faa084">More...</a><br /></td></tr>
<tr class="separator:ac7a0863f1ff16c84466ffb5aa5faa084"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c6d9b44e809b7b7691b350db090b0e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a9c6d9b44e809b7b7691b350db090b0e1">BIG_256_56_zero</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x)</td></tr>
<tr class="memdesc:a9c6d9b44e809b7b7691b350db090b0e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to zero. <a href="#a9c6d9b44e809b7b7691b350db090b0e1">More...</a><br /></td></tr>
<tr class="separator:a9c6d9b44e809b7b7691b350db090b0e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a831984c1adc8072930bc69e712692e79"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a831984c1adc8072930bc69e712692e79">BIG_256_56_dzero</a> (<a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x)</td></tr>
<tr class="memdesc:a831984c1adc8072930bc69e712692e79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to zero. <a href="#a831984c1adc8072930bc69e712692e79">More...</a><br /></td></tr>
<tr class="separator:a831984c1adc8072930bc69e712692e79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf29e543cdacfaea193ec50d15cb5046"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#abf29e543cdacfaea193ec50d15cb5046">BIG_256_56_one</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x)</td></tr>
<tr class="memdesc:abf29e543cdacfaea193ec50d15cb5046"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to one (unity) <a href="#abf29e543cdacfaea193ec50d15cb5046">More...</a><br /></td></tr>
<tr class="separator:abf29e543cdacfaea193ec50d15cb5046"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63396a981b7423fb6b83014c87e17198"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a63396a981b7423fb6b83014c87e17198">BIG_256_56_invmod2m</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x)</td></tr>
<tr class="memdesc:a63396a981b7423fb6b83014c87e17198"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to inverse mod 2^256. <a href="#a63396a981b7423fb6b83014c87e17198">More...</a><br /></td></tr>
<tr class="separator:a63396a981b7423fb6b83014c87e17198"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacf68874a1db0161c30bb528dd0515f3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#aacf68874a1db0161c30bb528dd0515f3">BIG_256_56_add</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z)</td></tr>
<tr class="memdesc:aacf68874a1db0161c30bb528dd0515f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to sum of two BIGs - output not normalised. <a href="#aacf68874a1db0161c30bb528dd0515f3">More...</a><br /></td></tr>
<tr class="separator:aacf68874a1db0161c30bb528dd0515f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac31e66cea886e917326dd0c517b66483"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#ac31e66cea886e917326dd0c517b66483">BIG_256_56_or</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z)</td></tr>
<tr class="memdesc:ac31e66cea886e917326dd0c517b66483"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to logical or of two BIGs - output normalised. <a href="#ac31e66cea886e917326dd0c517b66483">More...</a><br /></td></tr>
<tr class="separator:ac31e66cea886e917326dd0c517b66483"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9de89e29493f9cb68834d42b9fa55740"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a9de89e29493f9cb68834d42b9fa55740">BIG_256_56_inc</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, int i)</td></tr>
<tr class="memdesc:a9de89e29493f9cb68834d42b9fa55740"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment BIG by a small integer - output not normalised. <a href="#a9de89e29493f9cb68834d42b9fa55740">More...</a><br /></td></tr>
<tr class="separator:a9de89e29493f9cb68834d42b9fa55740"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f8334cd5e8d117b04a7bd1b483eab59"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a7f8334cd5e8d117b04a7bd1b483eab59">BIG_256_56_sub</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z)</td></tr>
<tr class="memdesc:a7f8334cd5e8d117b04a7bd1b483eab59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to difference of two BIGs. <a href="#a7f8334cd5e8d117b04a7bd1b483eab59">More...</a><br /></td></tr>
<tr class="separator:a7f8334cd5e8d117b04a7bd1b483eab59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6015176b7b1fe5d45c0dd6200bbbf9f9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a6015176b7b1fe5d45c0dd6200bbbf9f9">BIG_256_56_dec</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, int i)</td></tr>
<tr class="memdesc:a6015176b7b1fe5d45c0dd6200bbbf9f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement BIG by a small integer - output not normalised. <a href="#a6015176b7b1fe5d45c0dd6200bbbf9f9">More...</a><br /></td></tr>
<tr class="separator:a6015176b7b1fe5d45c0dd6200bbbf9f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2678ae03f495863e148440f19173eb33"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a2678ae03f495863e148440f19173eb33">BIG_256_56_dadd</a> (<a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> y, <a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> z)</td></tr>
<tr class="memdesc:a2678ae03f495863e148440f19173eb33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to sum of two DBIGs. <a href="#a2678ae03f495863e148440f19173eb33">More...</a><br /></td></tr>
<tr class="separator:a2678ae03f495863e148440f19173eb33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44853e6b32b195c3b0ff2b38c79e9bd5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a44853e6b32b195c3b0ff2b38c79e9bd5">BIG_256_56_dsub</a> (<a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> y, <a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> z)</td></tr>
<tr class="memdesc:a44853e6b32b195c3b0ff2b38c79e9bd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to difference of two DBIGs. <a href="#a44853e6b32b195c3b0ff2b38c79e9bd5">More...</a><br /></td></tr>
<tr class="separator:a44853e6b32b195c3b0ff2b38c79e9bd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab122c9bc11ced893982f8d7e87f6d16b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#ab122c9bc11ced893982f8d7e87f6d16b">BIG_256_56_imul</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y, int i)</td></tr>
<tr class="memdesc:ab122c9bc11ced893982f8d7e87f6d16b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by a small integer - output not normalised. <a href="#ab122c9bc11ced893982f8d7e87f6d16b">More...</a><br /></td></tr>
<tr class="separator:ab122c9bc11ced893982f8d7e87f6d16b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ede35af10dda3126fd0493d583bda42"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a0ede35af10dda3126fd0493d583bda42">BIG_256_56_pmul</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y, int i)</td></tr>
<tr class="memdesc:a0ede35af10dda3126fd0493d583bda42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by not-so-small small integer - output normalised. <a href="#a0ede35af10dda3126fd0493d583bda42">More...</a><br /></td></tr>
<tr class="separator:a0ede35af10dda3126fd0493d583bda42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4302fda3b44636fc6bf5d8f79b7b069d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a4302fda3b44636fc6bf5d8f79b7b069d">BIG_256_56_div3</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x)</td></tr>
<tr class="memdesc:a4302fda3b44636fc6bf5d8f79b7b069d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide BIG by 3 - output normalised. <a href="#a4302fda3b44636fc6bf5d8f79b7b069d">More...</a><br /></td></tr>
<tr class="separator:a4302fda3b44636fc6bf5d8f79b7b069d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5608b3eab346fbc75d7d3f0ca2c1e75a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a5608b3eab346fbc75d7d3f0ca2c1e75a">BIG_256_56_pxmul</a> (<a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y, int i)</td></tr>
<tr class="memdesc:a5608b3eab346fbc75d7d3f0ca2c1e75a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised. <a href="#a5608b3eab346fbc75d7d3f0ca2c1e75a">More...</a><br /></td></tr>
<tr class="separator:a5608b3eab346fbc75d7d3f0ca2c1e75a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fe683627bcb77695f0b2d00b760043d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a3fe683627bcb77695f0b2d00b760043d">BIG_256_56_mul</a> (<a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z)</td></tr>
<tr class="memdesc:a3fe683627bcb77695f0b2d00b760043d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised. <a href="#a3fe683627bcb77695f0b2d00b760043d">More...</a><br /></td></tr>
<tr class="separator:a3fe683627bcb77695f0b2d00b760043d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7b0da6bb5592a34e7dc33672fa318b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#ad7b0da6bb5592a34e7dc33672fa318b3">BIG_256_56_smul</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z)</td></tr>
<tr class="memdesc:ad7b0da6bb5592a34e7dc33672fa318b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised. <a href="#ad7b0da6bb5592a34e7dc33672fa318b3">More...</a><br /></td></tr>
<tr class="separator:ad7b0da6bb5592a34e7dc33672fa318b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24962ca1663d1412d7e82204fa7a2069"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a24962ca1663d1412d7e82204fa7a2069">BIG_256_56_sqr</a> (<a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y)</td></tr>
<tr class="memdesc:a24962ca1663d1412d7e82204fa7a2069"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square BIG resulting in a DBIG - input normalised and output normalised. <a href="#a24962ca1663d1412d7e82204fa7a2069">More...</a><br /></td></tr>
<tr class="separator:a24962ca1663d1412d7e82204fa7a2069"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac4adc454956f0d59d4c7376aebf78df"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#aac4adc454956f0d59d4c7376aebf78df">BIG_256_56_monty</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> md, <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC, <a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> d)</td></tr>
<tr class="memdesc:aac4adc454956f0d59d4c7376aebf78df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised. <a href="#aac4adc454956f0d59d4c7376aebf78df">More...</a><br /></td></tr>
<tr class="separator:aac4adc454956f0d59d4c7376aebf78df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6696ef1d4eccd40596dab5e21a88736a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a6696ef1d4eccd40596dab5e21a88736a">BIG_256_56_shl</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, int s)</td></tr>
<tr class="memdesc:a6696ef1d4eccd40596dab5e21a88736a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shifts a BIG left by any number of bits - input must be normalised, output normalised. <a href="#a6696ef1d4eccd40596dab5e21a88736a">More...</a><br /></td></tr>
<tr class="separator:a6696ef1d4eccd40596dab5e21a88736a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82d11ffc2638f3a7514ac5004ed554ad"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a82d11ffc2638f3a7514ac5004ed554ad">BIG_256_56_fshl</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, int s)</td></tr>
<tr class="memdesc:a82d11ffc2638f3a7514ac5004ed554ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast shifts a BIG left by a small number of bits - input must be normalised, output will be normalised. <a href="#a82d11ffc2638f3a7514ac5004ed554ad">More...</a><br /></td></tr>
<tr class="separator:a82d11ffc2638f3a7514ac5004ed554ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08908affacbbd90703a3e5ac2b3fc211"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a08908affacbbd90703a3e5ac2b3fc211">BIG_256_56_dshl</a> (<a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x, int s)</td></tr>
<tr class="memdesc:a08908affacbbd90703a3e5ac2b3fc211"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shifts a DBIG left by any number of bits - input must be normalised, output normalised. <a href="#a08908affacbbd90703a3e5ac2b3fc211">More...</a><br /></td></tr>
<tr class="separator:a08908affacbbd90703a3e5ac2b3fc211"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48944f7a7caeb6e958ff72fc8b3a1000"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a48944f7a7caeb6e958ff72fc8b3a1000">BIG_256_56_shr</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, int s)</td></tr>
<tr class="memdesc:a48944f7a7caeb6e958ff72fc8b3a1000"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shifts a BIG right by any number of bits - input must be normalised, output normalised. <a href="#a48944f7a7caeb6e958ff72fc8b3a1000">More...</a><br /></td></tr>
<tr class="separator:a48944f7a7caeb6e958ff72fc8b3a1000"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42f61e4166a19d24abf6461ab2a0ffd7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a42f61e4166a19d24abf6461ab2a0ffd7">BIG_256_56_ssn</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> m)</td></tr>
<tr class="memdesc:a42f61e4166a19d24abf6461ab2a0ffd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast time-critical combined shift by 1 bit, subtract and normalise. <a href="#a42f61e4166a19d24abf6461ab2a0ffd7">More...</a><br /></td></tr>
<tr class="separator:a42f61e4166a19d24abf6461ab2a0ffd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2503de5720030f26b6c4333ac7d98e4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#ae2503de5720030f26b6c4333ac7d98e4">BIG_256_56_fshr</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, int s)</td></tr>
<tr class="memdesc:ae2503de5720030f26b6c4333ac7d98e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast shifts a BIG right by a small number of bits - input must be normalised, output will be normalised. <a href="#ae2503de5720030f26b6c4333ac7d98e4">More...</a><br /></td></tr>
<tr class="separator:ae2503de5720030f26b6c4333ac7d98e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adae5bfd34ccdb07cd9b5731a12506337"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#adae5bfd34ccdb07cd9b5731a12506337">BIG_256_56_dshr</a> (<a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x, int s)</td></tr>
<tr class="memdesc:adae5bfd34ccdb07cd9b5731a12506337"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shifts a DBIG right by any number of bits - input must be normalised, output normalised. <a href="#adae5bfd34ccdb07cd9b5731a12506337">More...</a><br /></td></tr>
<tr class="separator:adae5bfd34ccdb07cd9b5731a12506337"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f320ab1db2f54c8d6bb1fcabff892cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a2f320ab1db2f54c8d6bb1fcabff892cf">BIG_256_56_split</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y, <a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> z, int s)</td></tr>
<tr class="memdesc:a2f320ab1db2f54c8d6bb1fcabff892cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a DBIG into two BIGs - input must be normalised, outputs normalised. <a href="#a2f320ab1db2f54c8d6bb1fcabff892cf">More...</a><br /></td></tr>
<tr class="separator:a2f320ab1db2f54c8d6bb1fcabff892cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf32c737dd0cf6aea60a9dc5dae3e420"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#aaf32c737dd0cf6aea60a9dc5dae3e420">BIG_256_56_norm</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x)</td></tr>
<tr class="memdesc:aaf32c737dd0cf6aea60a9dc5dae3e420"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a BIG number - output normalised. <a href="#aaf32c737dd0cf6aea60a9dc5dae3e420">More...</a><br /></td></tr>
<tr class="separator:aaf32c737dd0cf6aea60a9dc5dae3e420"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae80c8604eec0e7ee089b8c195e5c4c83"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#ae80c8604eec0e7ee089b8c195e5c4c83">BIG_256_56_dnorm</a> (<a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x)</td></tr>
<tr class="memdesc:ae80c8604eec0e7ee089b8c195e5c4c83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a DBIG number - output normalised. <a href="#ae80c8604eec0e7ee089b8c195e5c4c83">More...</a><br /></td></tr>
<tr class="separator:ae80c8604eec0e7ee089b8c195e5c4c83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94434905dd1631c1274bb6bd97c43ff8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a94434905dd1631c1274bb6bd97c43ff8">BIG_256_56_comp</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y)</td></tr>
<tr class="memdesc:a94434905dd1631c1274bb6bd97c43ff8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two BIG numbers. Inputs must be normalised externally. <a href="#a94434905dd1631c1274bb6bd97c43ff8">More...</a><br /></td></tr>
<tr class="separator:a94434905dd1631c1274bb6bd97c43ff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9896badbfc40d4d2f6f1358ba0c7f901"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a9896badbfc40d4d2f6f1358ba0c7f901">BIG_256_56_dcomp</a> (<a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> y)</td></tr>
<tr class="memdesc:a9896badbfc40d4d2f6f1358ba0c7f901"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two DBIG numbers. Inputs must be normalised externally. <a href="#a9896badbfc40d4d2f6f1358ba0c7f901">More...</a><br /></td></tr>
<tr class="separator:a9896badbfc40d4d2f6f1358ba0c7f901"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d3fae21f6edf0b2eb716edbde36fdde"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a5d3fae21f6edf0b2eb716edbde36fdde">BIG_256_56_nbits</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x)</td></tr>
<tr class="memdesc:a5d3fae21f6edf0b2eb716edbde36fdde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a BIG - output normalised. <a href="#a5d3fae21f6edf0b2eb716edbde36fdde">More...</a><br /></td></tr>
<tr class="separator:a5d3fae21f6edf0b2eb716edbde36fdde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c8060fefbe73886b90ab33d610082eb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a4c8060fefbe73886b90ab33d610082eb">BIG_256_56_dnbits</a> (<a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x)</td></tr>
<tr class="memdesc:a4c8060fefbe73886b90ab33d610082eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a DBIG - output normalised. <a href="#a4c8060fefbe73886b90ab33d610082eb">More...</a><br /></td></tr>
<tr class="separator:a4c8060fefbe73886b90ab33d610082eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ce0fb117601d7754f57a49d839779bc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a6ce0fb117601d7754f57a49d839779bc">BIG_256_56_mod</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n)</td></tr>
<tr class="memdesc:a6ce0fb117601d7754f57a49d839779bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce x mod n - input and output normalised. <a href="#a6ce0fb117601d7754f57a49d839779bc">More...</a><br /></td></tr>
<tr class="separator:a6ce0fb117601d7754f57a49d839779bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1cf1d0c2157f25a4d98f35b1c5c1cdf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#ac1cf1d0c2157f25a4d98f35b1c5c1cdf">BIG_256_56_sdiv</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n)</td></tr>
<tr class="memdesc:ac1cf1d0c2157f25a4d98f35b1c5c1cdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide x by n - output normalised. <a href="#ac1cf1d0c2157f25a4d98f35b1c5c1cdf">More...</a><br /></td></tr>
<tr class="separator:ac1cf1d0c2157f25a4d98f35b1c5c1cdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37ea30e1625cffb9381c15c170b98227"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a37ea30e1625cffb9381c15c170b98227">BIG_256_56_dmod</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> y, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n)</td></tr>
<tr class="memdesc:a37ea30e1625cffb9381c15c170b98227"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y mod n - output normalised <a href="#a37ea30e1625cffb9381c15c170b98227">More...</a><br /></td></tr>
<tr class="separator:a37ea30e1625cffb9381c15c170b98227"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ee163011b3e8f143bd3b251aebae89f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a5ee163011b3e8f143bd3b251aebae89f">BIG_256_56_ddiv</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> y, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n)</td></tr>
<tr class="memdesc:a5ee163011b3e8f143bd3b251aebae89f"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y/n - output normalised <a href="#a5ee163011b3e8f143bd3b251aebae89f">More...</a><br /></td></tr>
<tr class="separator:a5ee163011b3e8f143bd3b251aebae89f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc11c894923b900c67881f60b9e9a4cb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#afc11c894923b900c67881f60b9e9a4cb">BIG_256_56_parity</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x)</td></tr>
<tr class="memdesc:afc11c894923b900c67881f60b9e9a4cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">return parity of BIG, that is the least significant bit <a href="#afc11c894923b900c67881f60b9e9a4cb">More...</a><br /></td></tr>
<tr class="separator:afc11c894923b900c67881f60b9e9a4cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b9e7a612f45a257aee96e1cd3057cff"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a4b9e7a612f45a257aee96e1cd3057cff">BIG_256_56_bit</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, int i)</td></tr>
<tr class="memdesc:a4b9e7a612f45a257aee96e1cd3057cff"><td class="mdescLeft">&#160;</td><td class="mdescRight">return i-th of BIG <a href="#a4b9e7a612f45a257aee96e1cd3057cff">More...</a><br /></td></tr>
<tr class="separator:a4b9e7a612f45a257aee96e1cd3057cff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48a4dc339dd2631ad1a35bf8af04d951"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a48a4dc339dd2631ad1a35bf8af04d951">BIG_256_56_lastbits</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, int n)</td></tr>
<tr class="memdesc:a48a4dc339dd2631ad1a35bf8af04d951"><td class="mdescLeft">&#160;</td><td class="mdescRight">return least significant bits of a BIG <a href="#a48a4dc339dd2631ad1a35bf8af04d951">More...</a><br /></td></tr>
<tr class="separator:a48a4dc339dd2631ad1a35bf8af04d951"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef2334923d0f6e3179818980022664eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#aef2334923d0f6e3179818980022664eb">BIG_256_56_random</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
<tr class="memdesc:aef2334923d0f6e3179818980022664eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random BIG from a random number generator. <a href="#aef2334923d0f6e3179818980022664eb">More...</a><br /></td></tr>
<tr class="separator:aef2334923d0f6e3179818980022664eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f8e6263d2b25ab7c88b73360fbb9a2a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a2f8e6263d2b25ab7c88b73360fbb9a2a">BIG_256_56_randomnum</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
<tr class="memdesc:a2f8e6263d2b25ab7c88b73360fbb9a2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an unbiased random BIG from a random number generator, reduced with respect to a modulus. <a href="#a2f8e6263d2b25ab7c88b73360fbb9a2a">More...</a><br /></td></tr>
<tr class="separator:a2f8e6263d2b25ab7c88b73360fbb9a2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6df30d8e6f2067ce5f5647f8ba2aef19"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a6df30d8e6f2067ce5f5647f8ba2aef19">BIG_256_56_modmul</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n)</td></tr>
<tr class="memdesc:a6df30d8e6f2067ce5f5647f8ba2aef19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y*z mod n. <a href="#a6df30d8e6f2067ce5f5647f8ba2aef19">More...</a><br /></td></tr>
<tr class="separator:a6df30d8e6f2067ce5f5647f8ba2aef19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe8cd20e0d0355603d12911536a4805b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#afe8cd20e0d0355603d12911536a4805b">BIG_256_56_moddiv</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n)</td></tr>
<tr class="memdesc:afe8cd20e0d0355603d12911536a4805b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y/z mod n. <a href="#afe8cd20e0d0355603d12911536a4805b">More...</a><br /></td></tr>
<tr class="separator:afe8cd20e0d0355603d12911536a4805b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06612fae29e631679cd4aa169f1b3c6a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a06612fae29e631679cd4aa169f1b3c6a">BIG_256_56_modsqr</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n)</td></tr>
<tr class="memdesc:a06612fae29e631679cd4aa169f1b3c6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y^2 mod n. <a href="#a06612fae29e631679cd4aa169f1b3c6a">More...</a><br /></td></tr>
<tr class="separator:a06612fae29e631679cd4aa169f1b3c6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45b83f967d61baf813216a8d76998ed2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a45b83f967d61baf813216a8d76998ed2">BIG_256_56_modneg</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n)</td></tr>
<tr class="memdesc:a45b83f967d61baf813216a8d76998ed2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=-y mod n. <a href="#a45b83f967d61baf813216a8d76998ed2">More...</a><br /></td></tr>
<tr class="separator:a45b83f967d61baf813216a8d76998ed2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0916109277df97f7ae45f48bd597aea"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#aa0916109277df97f7ae45f48bd597aea">BIG_256_56_jacobi</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y)</td></tr>
<tr class="memdesc:aa0916109277df97f7ae45f48bd597aea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate jacobi Symbol (x/y) <a href="#aa0916109277df97f7ae45f48bd597aea">More...</a><br /></td></tr>
<tr class="separator:aa0916109277df97f7ae45f48bd597aea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1957fef0abc63c2a816d264532f5aa8e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a1957fef0abc63c2a816d264532f5aa8e">BIG_256_56_invmodp</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n)</td></tr>
<tr class="memdesc:a1957fef0abc63c2a816d264532f5aa8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=1/y mod n. <a href="#a1957fef0abc63c2a816d264532f5aa8e">More...</a><br /></td></tr>
<tr class="separator:a1957fef0abc63c2a816d264532f5aa8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4de3ad384e46113af03a7333034fec23"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a4de3ad384e46113af03a7333034fec23">BIG_256_56_mod2m</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, int m)</td></tr>
<tr class="memdesc:a4de3ad384e46113af03a7333034fec23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m. <a href="#a4de3ad384e46113af03a7333034fec23">More...</a><br /></td></tr>
<tr class="separator:a4de3ad384e46113af03a7333034fec23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c122049b296516c6b2fd8081c1f404d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html#a8c122049b296516c6b2fd8081c1f404d">BIG_256_56_dmod2m</a> (<a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x, int m)</td></tr>
<tr class="memdesc:a8c122049b296516c6b2fd8081c1f404d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m. <a href="#a8c122049b296516c6b2fd8081c1f404d">More...</a><br /></td></tr>
<tr class="separator:a8c122049b296516c6b2fd8081c1f404d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><dl class="section author"><dt>Author</dt><dd>Mike Scott </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a1a77f9a8aca3f6f0a3a3c95a129c6142"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a77f9a8aca3f6f0a3a3c95a129c6142">&#9670;&nbsp;</a></span>BIGBITS_256_56</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BIGBITS_256_56&#160;&#160;&#160;(8*<a class="el" href="config__big__256__56_8h.html#ab45850a8aedd0d0a0a7c5f2cc09aba9e">MODBYTES_256_56</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Length in bits </p>
</div>
</div>
<a id="a654f923f35390eab504ed90f184a4aae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a654f923f35390eab504ed90f184a4aae">&#9670;&nbsp;</a></span>BMASK_256_56</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BMASK_256_56&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__256__56_8h.html#ac6cb0299279eb5c9a07bccfd297f1b40">BASEBITS_256_56</a>)-1)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Mask = 2^BASEBITS-1 </p>
</div>
</div>
<a id="ac0ef2169da39807adbf4e20e99b48437"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0ef2169da39807adbf4e20e99b48437">&#9670;&nbsp;</a></span>DNLEN_256_56</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DNLEN_256_56&#160;&#160;&#160;2*<a class="el" href="big__256__56_8h.html#a4c25819d00f7df64955ee1c77609e309">NLEN_256_56</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Double length in bytes </p>
</div>
</div>
<a id="a9de3212703b203df789675e419950b50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9de3212703b203df789675e419950b50">&#9670;&nbsp;</a></span>HBITS_256_56</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HBITS_256_56&#160;&#160;&#160;(<a class="el" href="config__big__256__56_8h.html#ac6cb0299279eb5c9a07bccfd297f1b40">BASEBITS_256_56</a>/2)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of bits in number base divided by 2 </p>
</div>
</div>
<a id="a80538a998337c358f552c8a20c099c9b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80538a998337c358f552c8a20c099c9b">&#9670;&nbsp;</a></span>HMASK_256_56</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HMASK_256_56&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__256__56_8h.html#a9de3212703b203df789675e419950b50">HBITS_256_56</a>)-1)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Mask = 2^HBITS-1 </p>
</div>
</div>
<a id="abb2364526460e9b2121ae38a6bd46944"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb2364526460e9b2121ae38a6bd46944">&#9670;&nbsp;</a></span>NEXCESS_256_56</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define NEXCESS_256_56&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__256__56_8h.html#ac6cb0299279eb5c9a07bccfd297f1b40">BASEBITS_256_56</a>-1))</td>
</tr>
</table>
</div><div class="memdoc">
<p>2^(CHUNK-BASEBITS-1) - digit cannot be multiplied by more than this before normalisation </p>
</div>
</div>
<a id="a4c25819d00f7df64955ee1c77609e309"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c25819d00f7df64955ee1c77609e309">&#9670;&nbsp;</a></span>NLEN_256_56</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define NLEN_256_56&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__256__56_8h.html#ab45850a8aedd0d0a0a7c5f2cc09aba9e">MODBYTES_256_56</a>-1)/<a class="el" href="config__big__256__56_8h.html#ac6cb0299279eb5c9a07bccfd297f1b40">BASEBITS_256_56</a>))</td>
</tr>
</table>
</div><div class="memdoc">
<p>length in bytes </p>
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="abea3e70a8a87f28329ed8e48af7bb244"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abea3e70a8a87f28329ed8e48af7bb244">&#9670;&nbsp;</a></span>BIG_256_56</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_256_56[<a class="el" href="big__256__56_8h.html#a4c25819d00f7df64955ee1c77609e309">NLEN_256_56</a>]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Define type BIG as array of chunks </p>
</div>
</div>
<a id="a6183570cd770f0ce6be0d94a42ee465a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6183570cd770f0ce6be0d94a42ee465a">&#9670;&nbsp;</a></span>DBIG_256_56</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> DBIG_256_56[<a class="el" href="big__256__56_8h.html#ac0ef2169da39807adbf4e20e99b48437">DNLEN_256_56</a>]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Define type DBIG as array of chunks </p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="aacf68874a1db0161c30bb528dd0515f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aacf68874a1db0161c30bb528dd0515f3">&#9670;&nbsp;</a></span>BIG_256_56_add()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_add </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, sum of other two </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">z</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a4b9e7a612f45a257aee96e1cd3057cff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b9e7a612f45a257aee96e1cd3057cff">&#9670;&nbsp;</a></span>BIG_256_56_bit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_56_bit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">i</td><td>the bit of x to be returned </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 or 1 </dd></dl>
</div>
</div>
<a id="ada66c853edcbaebdd452bc0427fc22d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada66c853edcbaebdd452bc0427fc22d1">&#9670;&nbsp;</a></span>BIG_256_56_cmove()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_cmove </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Conditionally copies second parameter to the first (without branching) </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a BIG number </td></tr>
<tr><td class="paramname">y</td><td>another BIG number </td></tr>
<tr><td class="paramname">s</td><td>copy takes place if not equal to 0 </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a94434905dd1631c1274bb6bd97c43ff8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94434905dd1631c1274bb6bd97c43ff8">&#9670;&nbsp;</a></span>BIG_256_56_comp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_56_comp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>first BIG number to be compared </td></tr>
<tr><td class="paramname">y</td><td>second BIG number to be compared </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>-1 is x&lt;y, 0 if x=y, 1 if x&gt;y </dd></dl>
</div>
</div>
<a id="ab9ca2de3d023808394170fe5cbfeb4a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9ca2de3d023808394170fe5cbfeb4a1">&#9670;&nbsp;</a></span>BIG_256_56_copy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_copy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">y</td><td>BIG number to be copied </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a85c9d556d3f7900217847a7b091eafec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85c9d556d3f7900217847a7b091eafec">&#9670;&nbsp;</a></span>BIG_256_56_cswap()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_cswap </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Conditionally swaps parameters in constant time (without branching) </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a BIG number </td></tr>
<tr><td class="paramname">y</td><td>another BIG number </td></tr>
<tr><td class="paramname">s</td><td>swap takes place if not equal to 0 </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2678ae03f495863e148440f19173eb33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2678ae03f495863e148440f19173eb33">&#9670;&nbsp;</a></span>BIG_256_56_dadd()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_dadd </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number, sum of other two - output not normalised </td></tr>
<tr><td class="paramname">y</td><td>DBIG number </td></tr>
<tr><td class="paramname">z</td><td>DBIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5310a826307911d6af7cb936b7e79370"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5310a826307911d6af7cb936b7e79370">&#9670;&nbsp;</a></span>BIG_256_56_dcmove()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_dcmove </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Conditionally copies second parameter to the first (without branching) </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a DBIG number </td></tr>
<tr><td class="paramname">y</td><td>another DBIG number </td></tr>
<tr><td class="paramname">s</td><td>copy takes place if not equal to 0 </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9896badbfc40d4d2f6f1358ba0c7f901"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9896badbfc40d4d2f6f1358ba0c7f901">&#9670;&nbsp;</a></span>BIG_256_56_dcomp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_56_dcomp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>first DBIG number to be compared </td></tr>
<tr><td class="paramname">y</td><td>second DBIG number to be compared </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>-1 is x&lt;y, 0 if x=y, 1 if x&gt;y </dd></dl>
</div>
</div>
<a id="a97d508aa48ce8ec7cc182a3b63136725"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97d508aa48ce8ec7cc182a3b63136725">&#9670;&nbsp;</a></span>BIG_256_56_dcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_dcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number </td></tr>
<tr><td class="paramname">y</td><td>DBIG number to be copied </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5ee163011b3e8f143bd3b251aebae89f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ee163011b3e8f143bd3b251aebae89f">&#9670;&nbsp;</a></span>BIG_256_56_ddiv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_ddiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Slow but rarely used. y is destroyed. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit = y/n </td></tr>
<tr><td class="paramname">y</td><td>DBIG number </td></tr>
<tr><td class="paramname">n</td><td>Modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6015176b7b1fe5d45c0dd6200bbbf9f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6015176b7b1fe5d45c0dd6200bbbf9f9">&#9670;&nbsp;</a></span>BIG_256_56_dec()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_dec </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be decremented </td></tr>
<tr><td class="paramname">i</td><td>integer </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aea2c9721a0f4ebb9ebba811745126c34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea2c9721a0f4ebb9ebba811745126c34">&#9670;&nbsp;</a></span>BIG_256_56_dfromBytesLen()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_dfromBytesLen </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number </td></tr>
<tr><td class="paramname">a</td><td>byte array </td></tr>
<tr><td class="paramname">s</td><td>byte array length </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a324d5660ea8931291a7284b3b6de93e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a324d5660ea8931291a7284b3b6de93e1">&#9670;&nbsp;</a></span>BIG_256_56_diszilch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_56_diszilch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a DBIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if zero, else returns 0 </dd></dl>
</div>
</div>
<a id="a4302fda3b44636fc6bf5d8f79b7b069d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4302fda3b44636fc6bf5d8f79b7b069d">&#9670;&nbsp;</a></span>BIG_256_56_div3()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_56_div3 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Remainder </dd></dl>
</div>
</div>
<a id="a37ea30e1625cffb9381c15c170b98227"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37ea30e1625cffb9381c15c170b98227">&#9670;&nbsp;</a></span>BIG_256_56_dmod()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_dmod </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Slow but rarely used. y is destroyed. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit = y mod n </td></tr>
<tr><td class="paramname">y</td><td>DBIG number </td></tr>
<tr><td class="paramname">n</td><td>Modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8c122049b296516c6b2fd8081c1f404d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c122049b296516c6b2fd8081c1f404d">&#9670;&nbsp;</a></span>BIG_256_56_dmod2m()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_dmod2m </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>m</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Truncation </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number, on reduced mod 2^m </td></tr>
<tr><td class="paramname">m</td><td>new truncated size </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a4c8060fefbe73886b90ab33d610082eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c8060fefbe73886b90ab33d610082eb">&#9670;&nbsp;</a></span>BIG_256_56_dnbits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_56_dnbits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bits in x </dd></dl>
</div>
</div>
<a id="ae80c8604eec0e7ee089b8c195e5c4c83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae80c8604eec0e7ee089b8c195e5c4c83">&#9670;&nbsp;</a></span>BIG_256_56_dnorm()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_dnorm </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>All digits of the input DBIG are reduced mod 2^BASEBITS </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number to be normalised </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="adbf2e441d8f1b0657612621b8b65be87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adbf2e441d8f1b0657612621b8b65be87">&#9670;&nbsp;</a></span>BIG_256_56_doutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_doutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a DBIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7e709031a4a9a2b25820bef34ef2ab1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e709031a4a9a2b25820bef34ef2ab1f">&#9670;&nbsp;</a></span>BIG_256_56_drawoutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_drawoutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a DBIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8acdb6265dd58d447b477296828d7816"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8acdb6265dd58d447b477296828d7816">&#9670;&nbsp;</a></span>BIG_256_56_dscopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_dscopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number </td></tr>
<tr><td class="paramname">y</td><td>BIG number to be copied </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a08908affacbbd90703a3e5ac2b3fc211"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08908affacbbd90703a3e5ac2b3fc211">&#9670;&nbsp;</a></span>BIG_256_56_dshl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_dshl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number to be shifted </td></tr>
<tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="adae5bfd34ccdb07cd9b5731a12506337"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adae5bfd34ccdb07cd9b5731a12506337">&#9670;&nbsp;</a></span>BIG_256_56_dshr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_dshr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number to be shifted </td></tr>
<tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a44853e6b32b195c3b0ff2b38c79e9bd5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44853e6b32b195c3b0ff2b38c79e9bd5">&#9670;&nbsp;</a></span>BIG_256_56_dsub()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_dsub </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number, difference of other two - output not normalised </td></tr>
<tr><td class="paramname">y</td><td>DBIG number </td></tr>
<tr><td class="paramname">z</td><td>DBIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9569d112833f0400bfb7c0e4451a2947"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9569d112833f0400bfb7c0e4451a2947">&#9670;&nbsp;</a></span>BIG_256_56_dsucopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_dsucopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number </td></tr>
<tr><td class="paramname">y</td><td>BIG number to be copied </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a831984c1adc8072930bc69e712692e79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a831984c1adc8072930bc69e712692e79">&#9670;&nbsp;</a></span>BIG_256_56_dzero()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_dzero </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number to be set to zero </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a80abfe28372008df098b91281cee9db6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80abfe28372008df098b91281cee9db6">&#9670;&nbsp;</a></span>BIG_256_56_fromBytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_fromBytes </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>a</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">a</td><td>byte array </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab22e2947678113edf042d0fb64c3c92f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab22e2947678113edf042d0fb64c3c92f">&#9670;&nbsp;</a></span>BIG_256_56_fromBytesLen()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_fromBytesLen </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">a</td><td>byte array </td></tr>
<tr><td class="paramname">s</td><td>byte array length </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a82d11ffc2638f3a7514ac5004ed554ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82d11ffc2638f3a7514ac5004ed554ad">&#9670;&nbsp;</a></span>BIG_256_56_fshl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_56_fshl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The number of bits to be shifted must be less than BASEBITS </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be shifted </td></tr>
<tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Overflow bits </dd></dl>
</div>
</div>
<a id="ae2503de5720030f26b6c4333ac7d98e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2503de5720030f26b6c4333ac7d98e4">&#9670;&nbsp;</a></span>BIG_256_56_fshr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_56_fshr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The number of bits to be shifted must be less than BASEBITS </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be shifted </td></tr>
<tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Shifted out bits </dd></dl>
</div>
</div>
<a id="ab122c9bc11ced893982f8d7e87f6d16b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab122c9bc11ced893982f8d7e87f6d16b">&#9670;&nbsp;</a></span>BIG_256_56_imul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_imul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, product of other two </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">i</td><td>small integer </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9de89e29493f9cb68834d42b9fa55740"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9de89e29493f9cb68834d42b9fa55740">&#9670;&nbsp;</a></span>BIG_256_56_inc()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_inc </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be incremented </td></tr>
<tr><td class="paramname">i</td><td>integer </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a63396a981b7423fb6b83014c87e17198"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63396a981b7423fb6b83014c87e17198">&#9670;&nbsp;</a></span>BIG_256_56_invmod2m()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_invmod2m </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be inverted </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a1957fef0abc63c2a816d264532f5aa8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1957fef0abc63c2a816d264532f5aa8e">&#9670;&nbsp;</a></span>BIG_256_56_invmodp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_invmodp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Modular Inversion - This is slow. Uses binary method. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit = 1/y mod n </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae636476adf911162915969bf70750f45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae636476adf911162915969bf70750f45">&#9670;&nbsp;</a></span>BIG_256_56_isunity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_56_isunity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a BIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if one, else returns 0 </dd></dl>
</div>
</div>
<a id="ac13c91de6deefb2098a17f7081984384"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac13c91de6deefb2098a17f7081984384">&#9670;&nbsp;</a></span>BIG_256_56_iszilch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_56_iszilch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a BIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if zero, else returns 0 </dd></dl>
</div>
</div>
<a id="aa0916109277df97f7ae45f48bd597aea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0916109277df97f7ae45f48bd597aea">&#9670;&nbsp;</a></span>BIG_256_56_jacobi()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_56_jacobi </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Jacobi symbol, -1,0 or 1 </dd></dl>
</div>
</div>
<a id="a48a4dc339dd2631ad1a35bf8af04d951"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48a4dc339dd2631ad1a35bf8af04d951">&#9670;&nbsp;</a></span>BIG_256_56_lastbits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_56_lastbits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">n</td><td>number of bits to return. Assumed to be less than BASEBITS. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>least significant n bits as an integer </dd></dl>
</div>
</div>
<a id="a6ce0fb117601d7754f57a49d839779bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ce0fb117601d7754f57a49d839779bc">&#9670;&nbsp;</a></span>BIG_256_56_mod()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_mod </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Slow but rarely used </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be reduced mod n </td></tr>
<tr><td class="paramname">n</td><td>The modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a4de3ad384e46113af03a7333034fec23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4de3ad384e46113af03a7333034fec23">&#9670;&nbsp;</a></span>BIG_256_56_mod2m()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_mod2m </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>m</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Truncation </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on reduced mod 2^m </td></tr>
<tr><td class="paramname">m</td><td>new truncated size </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="afe8cd20e0d0355603d12911536a4805b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe8cd20e0d0355603d12911536a4805b">&#9670;&nbsp;</a></span>BIG_256_56_moddiv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_moddiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Slow method for modular division </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit = y/z mod n </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">z</td><td>BIG number </td></tr>
<tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6df30d8e6f2067ce5f5647f8ba2aef19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6df30d8e6f2067ce5f5647f8ba2aef19">&#9670;&nbsp;</a></span>BIG_256_56_modmul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_modmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>brief return NAF (Non-Adjacent-Form) value as +/- 1, 3 or 5, inputs must be normalised</p>
<p>Given x and 3*x extracts NAF value from given bit position, and returns number of bits processed, and number of trailing zeros detected if any param x BIG number param x3 BIG number, three times x param i bit position param nbs pointer to integer returning number of bits processed param nzs pointer to integer returning number of trailing 0s return + or - 1, 3 or 5Slow method for modular multiplication </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit = y*z mod n </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">z</td><td>BIG number </td></tr>
<tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a45b83f967d61baf813216a8d76998ed2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45b83f967d61baf813216a8d76998ed2">&#9670;&nbsp;</a></span>BIG_256_56_modneg()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_modneg </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Modular negation </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit = -y mod n </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a06612fae29e631679cd4aa169f1b3c6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06612fae29e631679cd4aa169f1b3c6a">&#9670;&nbsp;</a></span>BIG_256_56_modsqr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_modsqr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Slow method for modular squaring </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit = y^2 mod n </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aac4adc454956f0d59d4c7376aebf78df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac4adc454956f0d59d4c7376aebf78df">&#9670;&nbsp;</a></span>BIG_256_56_monty()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_monty </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>md</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td>
<td class="paramname"><em>MC</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>d</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">a</td><td>BIG number, reduction of a BIG </td></tr>
<tr><td class="paramname">md</td><td>BIG number, the modulus </td></tr>
<tr><td class="paramname">MC</td><td>the Montgomery Constant </td></tr>
<tr><td class="paramname">d</td><td>DBIG number to be reduced </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3fe683627bcb77695f0b2d00b760043d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3fe683627bcb77695f0b2d00b760043d">&#9670;&nbsp;</a></span>BIG_256_56_mul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_mul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number, product of other two </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">z</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5d3fae21f6edf0b2eb716edbde36fdde"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d3fae21f6edf0b2eb716edbde36fdde">&#9670;&nbsp;</a></span>BIG_256_56_nbits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_56_nbits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bits in x </dd></dl>
</div>
</div>
<a id="aaf32c737dd0cf6aea60a9dc5dae3e420"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf32c737dd0cf6aea60a9dc5dae3e420">&#9670;&nbsp;</a></span>BIG_256_56_norm()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_256_56_norm </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>All digits of the input BIG are reduced mod 2^BASEBITS </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be normalised </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="abf29e543cdacfaea193ec50d15cb5046"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf29e543cdacfaea193ec50d15cb5046">&#9670;&nbsp;</a></span>BIG_256_56_one()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_one </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be set to one. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac31e66cea886e917326dd0c517b66483"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac31e66cea886e917326dd0c517b66483">&#9670;&nbsp;</a></span>BIG_256_56_or()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_or </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, or of other two </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">z</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a90c090098ac877b38930f0fc1533006a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a90c090098ac877b38930f0fc1533006a">&#9670;&nbsp;</a></span>BIG_256_56_output()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_output </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="afc11c894923b900c67881f60b9e9a4cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc11c894923b900c67881f60b9e9a4cb">&#9670;&nbsp;</a></span>BIG_256_56_parity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_56_parity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 or 1 </dd></dl>
</div>
</div>
<a id="a0ede35af10dda3126fd0493d583bda42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ede35af10dda3126fd0493d583bda42">&#9670;&nbsp;</a></span>BIG_256_56_pmul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_256_56_pmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, product of other two </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">i</td><td>small integer </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Overflowing bits </dd></dl>
</div>
</div>
<a id="a5608b3eab346fbc75d7d3f0ca2c1e75a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5608b3eab346fbc75d7d3f0ca2c1e75a">&#9670;&nbsp;</a></span>BIG_256_56_pxmul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_pxmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number, product of other two </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">i</td><td>small integer </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aef2334923d0f6e3179818980022664eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef2334923d0f6e3179818980022664eb">&#9670;&nbsp;</a></span>BIG_256_56_random()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_random </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structcsprng.html">csprng</a> *&#160;</td>
<td class="paramname"><em>r</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Assumes that the random number generator has been suitably initialised </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit a random number </td></tr>
<tr><td class="paramname">r</td><td>A pointer to a Cryptographically Secure Random Number Generator </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2f8e6263d2b25ab7c88b73360fbb9a2a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f8e6263d2b25ab7c88b73360fbb9a2a">&#9670;&nbsp;</a></span>BIG_256_56_randomnum()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_randomnum </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>n</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structcsprng.html">csprng</a> *&#160;</td>
<td class="paramname"><em>r</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Assumes that the random number generator has been suitably initialised </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit a random number </td></tr>
<tr><td class="paramname">n</td><td>The modulus </td></tr>
<tr><td class="paramname">r</td><td>A pointer to a Cryptographically Secure Random Number Generator </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7dab0615b4c1b3e76fccca81aa7fe305"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7dab0615b4c1b3e76fccca81aa7fe305">&#9670;&nbsp;</a></span>BIG_256_56_rawoutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_rawoutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3ad61321234a88125b2b15ada3366cea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ad61321234a88125b2b15ada3366cea">&#9670;&nbsp;</a></span>BIG_256_56_rcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_rcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">y</td><td>BIG number in ROM </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2b46a5704c6c9451e28efd19d422c8b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b46a5704c6c9451e28efd19d422c8b4">&#9670;&nbsp;</a></span>BIG_256_56_sdcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_sdcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">y</td><td>DBIG number to be copied </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac1cf1d0c2157f25a4d98f35b1c5c1cdf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac1cf1d0c2157f25a4d98f35b1c5c1cdf">&#9670;&nbsp;</a></span>BIG_256_56_sdiv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_sdiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Slow but rarely used </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be divided by n </td></tr>
<tr><td class="paramname">n</td><td>The Divisor </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac7a0863f1ff16c84466ffb5aa5faa084"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7a0863f1ff16c84466ffb5aa5faa084">&#9670;&nbsp;</a></span>BIG_256_56_sducopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_sducopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">y</td><td>DBIG number to be copied </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6696ef1d4eccd40596dab5e21a88736a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6696ef1d4eccd40596dab5e21a88736a">&#9670;&nbsp;</a></span>BIG_256_56_shl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_shl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be shifted </td></tr>
<tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a48944f7a7caeb6e958ff72fc8b3a1000"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48944f7a7caeb6e958ff72fc8b3a1000">&#9670;&nbsp;</a></span>BIG_256_56_shr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_shr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be shifted </td></tr>
<tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad7b0da6bb5592a34e7dc33672fa318b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7b0da6bb5592a34e7dc33672fa318b3">&#9670;&nbsp;</a></span>BIG_256_56_smul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_smul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Note that the product must fit into a BIG, and x must be distinct from y and z </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, product of other two </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">z</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2f320ab1db2f54c8d6bb1fcabff892cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f320ab1db2f54c8d6bb1fcabff892cf">&#9670;&nbsp;</a></span>BIG_256_56_split()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_256_56_split </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Internal function. The value of s must be approximately in the middle of the DBIG. Typically used to extract z mod 2^MODBITS and z/2^MODBITS </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, top half of z </td></tr>
<tr><td class="paramname">y</td><td>BIG number, bottom half of z </td></tr>
<tr><td class="paramname">z</td><td>DBIG number to be split in two. </td></tr>
<tr><td class="paramname">s</td><td>Bit position at which to split </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>carry-out from top half </dd></dl>
</div>
</div>
<a id="a24962ca1663d1412d7e82204fa7a2069"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24962ca1663d1412d7e82204fa7a2069">&#9670;&nbsp;</a></span>BIG_256_56_sqr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_sqr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number, square of a BIG </td></tr>
<tr><td class="paramname">y</td><td>BIG number to be squared </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a42f61e4166a19d24abf6461ab2a0ffd7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42f61e4166a19d24abf6461ab2a0ffd7">&#9670;&nbsp;</a></span>BIG_256_56_ssn()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_56_ssn </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>m</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">r</td><td>BIG number normalised output </td></tr>
<tr><td class="paramname">a</td><td>BIG number to be subtracted from </td></tr>
<tr><td class="paramname">m</td><td>BIG number to be shifted and subtracted </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>sign of r </dd></dl>
</div>
</div>
<a id="a7f8334cd5e8d117b04a7bd1b483eab59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f8334cd5e8d117b04a7bd1b483eab59">&#9670;&nbsp;</a></span>BIG_256_56_sub()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_sub </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, difference of other two - output not normalised </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">z</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad4d7e429da003447d680466dd428d514"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad4d7e429da003447d680466dd428d514">&#9670;&nbsp;</a></span>BIG_256_56_toBytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_toBytes </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">a</td><td>byte array </td></tr>
<tr><td class="paramname">x</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9c6d9b44e809b7b7691b350db090b0e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c6d9b44e809b7b7691b350db090b0e1">&#9670;&nbsp;</a></span>BIG_256_56_zero()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_56_zero </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be set to zero </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>