blob: 3e9c63924f4d9ff234b9491464cfd66d065a5948 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<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.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>AMCL: big_528_28.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>
<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.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</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_528_28.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__528__28_8h_source.html">config_big_528_28.h</a>&quot;</code><br />
</div>
<p><a href="big__528__28_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:a0525b6e9fdd66250ad0a082d4b43452c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a0525b6e9fdd66250ad0a082d4b43452c">BIGBITS_528_28</a>&#160;&#160;&#160;(8*<a class="el" href="config__big__528__28_8h.html#a20815b5e833d3addbc05164516eac4a6">MODBYTES_528_28</a>)</td></tr>
<tr class="separator:a0525b6e9fdd66250ad0a082d4b43452c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a692cc7adcebe504dfc5bb67a12d414bf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a692cc7adcebe504dfc5bb67a12d414bf">NLEN_528_28</a>&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__528__28_8h.html#a20815b5e833d3addbc05164516eac4a6">MODBYTES_528_28</a>-1)/<a class="el" href="config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">BASEBITS_528_28</a>))</td></tr>
<tr class="separator:a692cc7adcebe504dfc5bb67a12d414bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b5dfb4b5ee31d7fb7838e9abdf795c2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a1b5dfb4b5ee31d7fb7838e9abdf795c2">DNLEN_528_28</a>&#160;&#160;&#160;2*<a class="el" href="big__528__28_8h.html#a692cc7adcebe504dfc5bb67a12d414bf">NLEN_528_28</a></td></tr>
<tr class="separator:a1b5dfb4b5ee31d7fb7838e9abdf795c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82082efa3a70836e15d9d625873fc626"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a82082efa3a70836e15d9d625873fc626">BMASK_528_28</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">BASEBITS_528_28</a>)-1)</td></tr>
<tr class="separator:a82082efa3a70836e15d9d625873fc626"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b0456920d6877c24ced651bc6ff5617"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a2b0456920d6877c24ced651bc6ff5617">NEXCESS_528_28</a>&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">BASEBITS_528_28</a>-1))</td></tr>
<tr class="separator:a2b0456920d6877c24ced651bc6ff5617"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4670085502e0eb472b9acd8414b89d4f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a4670085502e0eb472b9acd8414b89d4f">HBITS_528_28</a>&#160;&#160;&#160;(<a class="el" href="config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">BASEBITS_528_28</a>/2)</td></tr>
<tr class="separator:a4670085502e0eb472b9acd8414b89d4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedfdf9a531fd7ad921bbf3cd33a288d6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#aedfdf9a531fd7ad921bbf3cd33a288d6">HMASK_528_28</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__528__28_8h.html#a4670085502e0eb472b9acd8414b89d4f">HBITS_528_28</a>)-1)</td></tr>
<tr class="separator:aedfdf9a531fd7ad921bbf3cd33a288d6"><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:a619606adb161746fcbb4d51d55a5cd1e"><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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a>[<a class="el" href="big__528__28_8h.html#a692cc7adcebe504dfc5bb67a12d414bf">NLEN_528_28</a>]</td></tr>
<tr class="separator:a619606adb161746fcbb4d51d55a5cd1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1ffd0faa58216991ca472333e1e209e"><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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a>[<a class="el" href="big__528__28_8h.html#a1b5dfb4b5ee31d7fb7838e9abdf795c2">DNLEN_528_28</a>]</td></tr>
<tr class="separator:ac1ffd0faa58216991ca472333e1e209e"><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:a759b359beb86544bb4399e56b9370125"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a759b359beb86544bb4399e56b9370125">BIG_528_28_iszilch</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
<tr class="memdesc:a759b359beb86544bb4399e56b9370125"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to zero. <a href="#a759b359beb86544bb4399e56b9370125">More...</a><br /></td></tr>
<tr class="separator:a759b359beb86544bb4399e56b9370125"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ea2000ea11c779bcc15c7c9b45a23e6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a1ea2000ea11c779bcc15c7c9b45a23e6">BIG_528_28_isunity</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
<tr class="memdesc:a1ea2000ea11c779bcc15c7c9b45a23e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to one. <a href="#a1ea2000ea11c779bcc15c7c9b45a23e6">More...</a><br /></td></tr>
<tr class="separator:a1ea2000ea11c779bcc15c7c9b45a23e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fcba50db34f3327aa7605ea68d5a14f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a3fcba50db34f3327aa7605ea68d5a14f">BIG_528_28_diszilch</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x)</td></tr>
<tr class="memdesc:a3fcba50db34f3327aa7605ea68d5a14f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for DBIG equal to zero. <a href="#a3fcba50db34f3327aa7605ea68d5a14f">More...</a><br /></td></tr>
<tr class="separator:a3fcba50db34f3327aa7605ea68d5a14f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7202be5bc08fa6abfae7d1da9bfbcf2f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a7202be5bc08fa6abfae7d1da9bfbcf2f">BIG_528_28_output</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
<tr class="memdesc:a7202be5bc08fa6abfae7d1da9bfbcf2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console. <a href="#a7202be5bc08fa6abfae7d1da9bfbcf2f">More...</a><br /></td></tr>
<tr class="separator:a7202be5bc08fa6abfae7d1da9bfbcf2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bf84a2fdffc5317a7c1008f209debe8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a7bf84a2fdffc5317a7c1008f209debe8">BIG_528_28_rawoutput</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
<tr class="memdesc:a7bf84a2fdffc5317a7c1008f209debe8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console in raw form (for debugging) <a href="#a7bf84a2fdffc5317a7c1008f209debe8">More...</a><br /></td></tr>
<tr class="separator:a7bf84a2fdffc5317a7c1008f209debe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bfcaa1d61f41b532fc113f41393bb67"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a9bfcaa1d61f41b532fc113f41393bb67">BIG_528_28_cswap</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, int s)</td></tr>
<tr class="memdesc:a9bfcaa1d61f41b532fc113f41393bb67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional constant time swap of two BIG numbers. <a href="#a9bfcaa1d61f41b532fc113f41393bb67">More...</a><br /></td></tr>
<tr class="separator:a9bfcaa1d61f41b532fc113f41393bb67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5eba982c2daae8928c7d338454e7aa11"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a5eba982c2daae8928c7d338454e7aa11">BIG_528_28_cmove</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, int s)</td></tr>
<tr class="memdesc:a5eba982c2daae8928c7d338454e7aa11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of BIG number. <a href="#a5eba982c2daae8928c7d338454e7aa11">More...</a><br /></td></tr>
<tr class="separator:a5eba982c2daae8928c7d338454e7aa11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9f20276f7d3c2879801ee2c9d4b48e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ae9f20276f7d3c2879801ee2c9d4b48e2">BIG_528_28_dcmove</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, int s)</td></tr>
<tr class="memdesc:ae9f20276f7d3c2879801ee2c9d4b48e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of DBIG number. <a href="#ae9f20276f7d3c2879801ee2c9d4b48e2">More...</a><br /></td></tr>
<tr class="separator:ae9f20276f7d3c2879801ee2c9d4b48e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4765f04b8f89ff50d79fbf0240863445"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a4765f04b8f89ff50d79fbf0240863445">BIG_528_28_toBytes</a> (char *a, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
<tr class="memdesc:a4765f04b8f89ff50d79fbf0240863445"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from BIG number to byte array. <a href="#a4765f04b8f89ff50d79fbf0240863445">More...</a><br /></td></tr>
<tr class="separator:a4765f04b8f89ff50d79fbf0240863445"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ac81676878f639d380137b47dc640c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a0ac81676878f639d380137b47dc640c1">BIG_528_28_fromBytes</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, char *a)</td></tr>
<tr class="memdesc:a0ac81676878f639d380137b47dc640c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array. <a href="#a0ac81676878f639d380137b47dc640c1">More...</a><br /></td></tr>
<tr class="separator:a0ac81676878f639d380137b47dc640c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a001cdba454b1c6bd4051f8edfa72971f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a001cdba454b1c6bd4051f8edfa72971f">BIG_528_28_fromBytesLen</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, char *a, int s)</td></tr>
<tr class="memdesc:a001cdba454b1c6bd4051f8edfa72971f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array of given length. <a href="#a001cdba454b1c6bd4051f8edfa72971f">More...</a><br /></td></tr>
<tr class="separator:a001cdba454b1c6bd4051f8edfa72971f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac63c75100d3183b113f17c3a71bc1558"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ac63c75100d3183b113f17c3a71bc1558">BIG_528_28_dfromBytesLen</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, char *a, int s)</td></tr>
<tr class="memdesc:ac63c75100d3183b113f17c3a71bc1558"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to DBIG number from byte array of given length. <a href="#ac63c75100d3183b113f17c3a71bc1558">More...</a><br /></td></tr>
<tr class="separator:ac63c75100d3183b113f17c3a71bc1558"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2004f4fe879078f894fa47bf4f8d9018"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a2004f4fe879078f894fa47bf4f8d9018">BIG_528_28_doutput</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x)</td></tr>
<tr class="memdesc:a2004f4fe879078f894fa47bf4f8d9018"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console. <a href="#a2004f4fe879078f894fa47bf4f8d9018">More...</a><br /></td></tr>
<tr class="separator:a2004f4fe879078f894fa47bf4f8d9018"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92d211f719b808f8bff3e5416485829a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a92d211f719b808f8bff3e5416485829a">BIG_528_28_drawoutput</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x)</td></tr>
<tr class="memdesc:a92d211f719b808f8bff3e5416485829a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console. <a href="#a92d211f719b808f8bff3e5416485829a">More...</a><br /></td></tr>
<tr class="separator:a92d211f719b808f8bff3e5416485829a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac49a401e55aef325b85c04ff5a0f03e3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ac49a401e55aef325b85c04ff5a0f03e3">BIG_528_28_rcopy</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, const <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y)</td></tr>
<tr class="memdesc:ac49a401e55aef325b85c04ff5a0f03e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG from Read-Only Memory to a BIG. <a href="#ac49a401e55aef325b85c04ff5a0f03e3">More...</a><br /></td></tr>
<tr class="separator:ac49a401e55aef325b85c04ff5a0f03e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69773e3420a22bbe38ec7a7d5e30df85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a69773e3420a22bbe38ec7a7d5e30df85">BIG_528_28_copy</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y)</td></tr>
<tr class="memdesc:a69773e3420a22bbe38ec7a7d5e30df85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to another BIG. <a href="#a69773e3420a22bbe38ec7a7d5e30df85">More...</a><br /></td></tr>
<tr class="separator:a69773e3420a22bbe38ec7a7d5e30df85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afccc8f44d19aeaead975ffeff494ca72"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#afccc8f44d19aeaead975ffeff494ca72">BIG_528_28_dcopy</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> y)</td></tr>
<tr class="memdesc:afccc8f44d19aeaead975ffeff494ca72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy DBIG to another DBIG. <a href="#afccc8f44d19aeaead975ffeff494ca72">More...</a><br /></td></tr>
<tr class="separator:afccc8f44d19aeaead975ffeff494ca72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3605d741288e107006f8a870c19b58d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a3605d741288e107006f8a870c19b58d7">BIG_528_28_dsucopy</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y)</td></tr>
<tr class="memdesc:a3605d741288e107006f8a870c19b58d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to upper half of DBIG. <a href="#a3605d741288e107006f8a870c19b58d7">More...</a><br /></td></tr>
<tr class="separator:a3605d741288e107006f8a870c19b58d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab035b57893889988fa1e6a6a741de5db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ab035b57893889988fa1e6a6a741de5db">BIG_528_28_dscopy</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y)</td></tr>
<tr class="memdesc:ab035b57893889988fa1e6a6a741de5db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to lower half of DBIG. <a href="#ab035b57893889988fa1e6a6a741de5db">More...</a><br /></td></tr>
<tr class="separator:ab035b57893889988fa1e6a6a741de5db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90335a8a99381ced32eb28ecc27cd4a0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a90335a8a99381ced32eb28ecc27cd4a0">BIG_528_28_sdcopy</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> y)</td></tr>
<tr class="memdesc:a90335a8a99381ced32eb28ecc27cd4a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy lower half of DBIG to a BIG. <a href="#a90335a8a99381ced32eb28ecc27cd4a0">More...</a><br /></td></tr>
<tr class="separator:a90335a8a99381ced32eb28ecc27cd4a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabb757eb8a57b274a480d6fad7fb5ef4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#aabb757eb8a57b274a480d6fad7fb5ef4">BIG_528_28_sducopy</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> y)</td></tr>
<tr class="memdesc:aabb757eb8a57b274a480d6fad7fb5ef4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy upper half of DBIG to a BIG. <a href="#aabb757eb8a57b274a480d6fad7fb5ef4">More...</a><br /></td></tr>
<tr class="separator:aabb757eb8a57b274a480d6fad7fb5ef4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b346504e2eb7132227acfaa4fc96233"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a7b346504e2eb7132227acfaa4fc96233">BIG_528_28_zero</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
<tr class="memdesc:a7b346504e2eb7132227acfaa4fc96233"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to zero. <a href="#a7b346504e2eb7132227acfaa4fc96233">More...</a><br /></td></tr>
<tr class="separator:a7b346504e2eb7132227acfaa4fc96233"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa9178d7e1d15437f3142d84943c80b4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#aaa9178d7e1d15437f3142d84943c80b4">BIG_528_28_dzero</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x)</td></tr>
<tr class="memdesc:aaa9178d7e1d15437f3142d84943c80b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to zero. <a href="#aaa9178d7e1d15437f3142d84943c80b4">More...</a><br /></td></tr>
<tr class="separator:aaa9178d7e1d15437f3142d84943c80b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada2780244b0ed167c9fcb365014ac992"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ada2780244b0ed167c9fcb365014ac992">BIG_528_28_one</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
<tr class="memdesc:ada2780244b0ed167c9fcb365014ac992"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to one (unity) <a href="#ada2780244b0ed167c9fcb365014ac992">More...</a><br /></td></tr>
<tr class="separator:ada2780244b0ed167c9fcb365014ac992"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93e28db178c675ff24319a01869c67cf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a93e28db178c675ff24319a01869c67cf">BIG_528_28_invmod2m</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
<tr class="memdesc:a93e28db178c675ff24319a01869c67cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to inverse mod 2^256. <a href="#a93e28db178c675ff24319a01869c67cf">More...</a><br /></td></tr>
<tr class="separator:a93e28db178c675ff24319a01869c67cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7afd96bac59d42371b76b95890835631"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a7afd96bac59d42371b76b95890835631">BIG_528_28_add</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> z)</td></tr>
<tr class="memdesc:a7afd96bac59d42371b76b95890835631"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to sum of two BIGs - output not normalised. <a href="#a7afd96bac59d42371b76b95890835631">More...</a><br /></td></tr>
<tr class="separator:a7afd96bac59d42371b76b95890835631"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73d2125663f4285274f82da9cd465f31"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a73d2125663f4285274f82da9cd465f31">BIG_528_28_or</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> z)</td></tr>
<tr class="memdesc:a73d2125663f4285274f82da9cd465f31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to logical or of two BIGs - output normalised. <a href="#a73d2125663f4285274f82da9cd465f31">More...</a><br /></td></tr>
<tr class="separator:a73d2125663f4285274f82da9cd465f31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecc2507f27540e765099a45641bd1001"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#aecc2507f27540e765099a45641bd1001">BIG_528_28_inc</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, int i)</td></tr>
<tr class="memdesc:aecc2507f27540e765099a45641bd1001"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment BIG by a small integer - output not normalised. <a href="#aecc2507f27540e765099a45641bd1001">More...</a><br /></td></tr>
<tr class="separator:aecc2507f27540e765099a45641bd1001"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0bd12529378dba03e33365c29e7696e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ac0bd12529378dba03e33365c29e7696e">BIG_528_28_sub</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> z)</td></tr>
<tr class="memdesc:ac0bd12529378dba03e33365c29e7696e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to difference of two BIGs. <a href="#ac0bd12529378dba03e33365c29e7696e">More...</a><br /></td></tr>
<tr class="separator:ac0bd12529378dba03e33365c29e7696e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2796b69476d18c8b72874d7062e1409"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ae2796b69476d18c8b72874d7062e1409">BIG_528_28_dec</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, int i)</td></tr>
<tr class="memdesc:ae2796b69476d18c8b72874d7062e1409"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement BIG by a small integer - output not normalised. <a href="#ae2796b69476d18c8b72874d7062e1409">More...</a><br /></td></tr>
<tr class="separator:ae2796b69476d18c8b72874d7062e1409"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a204806f27e1337ef58f7af2758860fd5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a204806f27e1337ef58f7af2758860fd5">BIG_528_28_dadd</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> z)</td></tr>
<tr class="memdesc:a204806f27e1337ef58f7af2758860fd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to sum of two DBIGs. <a href="#a204806f27e1337ef58f7af2758860fd5">More...</a><br /></td></tr>
<tr class="separator:a204806f27e1337ef58f7af2758860fd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bd3af5dbdd4141d281fc0f49c22bd67"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a1bd3af5dbdd4141d281fc0f49c22bd67">BIG_528_28_dsub</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> z)</td></tr>
<tr class="memdesc:a1bd3af5dbdd4141d281fc0f49c22bd67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to difference of two DBIGs. <a href="#a1bd3af5dbdd4141d281fc0f49c22bd67">More...</a><br /></td></tr>
<tr class="separator:a1bd3af5dbdd4141d281fc0f49c22bd67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6ddc379684077bfc78ac3c655399aed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ad6ddc379684077bfc78ac3c655399aed">BIG_528_28_imul</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, int i)</td></tr>
<tr class="memdesc:ad6ddc379684077bfc78ac3c655399aed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by a small integer - output not normalised. <a href="#ad6ddc379684077bfc78ac3c655399aed">More...</a><br /></td></tr>
<tr class="separator:ad6ddc379684077bfc78ac3c655399aed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad313e8a3ed0aaf2758e6c17e98a78673"><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__528__28_8h.html#ad313e8a3ed0aaf2758e6c17e98a78673">BIG_528_28_pmul</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, int i)</td></tr>
<tr class="memdesc:ad313e8a3ed0aaf2758e6c17e98a78673"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by not-so-small small integer - output normalised. <a href="#ad313e8a3ed0aaf2758e6c17e98a78673">More...</a><br /></td></tr>
<tr class="separator:ad313e8a3ed0aaf2758e6c17e98a78673"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5f14d540b28f48d3b6f5a4f830dabcc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ac5f14d540b28f48d3b6f5a4f830dabcc">BIG_528_28_div3</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
<tr class="memdesc:ac5f14d540b28f48d3b6f5a4f830dabcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide BIG by 3 - output normalised. <a href="#ac5f14d540b28f48d3b6f5a4f830dabcc">More...</a><br /></td></tr>
<tr class="separator:ac5f14d540b28f48d3b6f5a4f830dabcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e70619bafa1344244aa1a6a2306f53e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a0e70619bafa1344244aa1a6a2306f53e">BIG_528_28_pxmul</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, int i)</td></tr>
<tr class="memdesc:a0e70619bafa1344244aa1a6a2306f53e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised. <a href="#a0e70619bafa1344244aa1a6a2306f53e">More...</a><br /></td></tr>
<tr class="separator:a0e70619bafa1344244aa1a6a2306f53e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8745b1338c0e96c6f616a06bf7dffee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ae8745b1338c0e96c6f616a06bf7dffee">BIG_528_28_mul</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> z)</td></tr>
<tr class="memdesc:ae8745b1338c0e96c6f616a06bf7dffee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised. <a href="#ae8745b1338c0e96c6f616a06bf7dffee">More...</a><br /></td></tr>
<tr class="separator:ae8745b1338c0e96c6f616a06bf7dffee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3363c0a6b6ec862cb5774c646cfa3c03"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a3363c0a6b6ec862cb5774c646cfa3c03">BIG_528_28_smul</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> z)</td></tr>
<tr class="memdesc:a3363c0a6b6ec862cb5774c646cfa3c03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised. <a href="#a3363c0a6b6ec862cb5774c646cfa3c03">More...</a><br /></td></tr>
<tr class="separator:a3363c0a6b6ec862cb5774c646cfa3c03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac56118aa8725b3b1fc03af85c3010b38"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ac56118aa8725b3b1fc03af85c3010b38">BIG_528_28_sqr</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y)</td></tr>
<tr class="memdesc:ac56118aa8725b3b1fc03af85c3010b38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square BIG resulting in a DBIG - input normalised and output normalised. <a href="#ac56118aa8725b3b1fc03af85c3010b38">More...</a><br /></td></tr>
<tr class="separator:ac56118aa8725b3b1fc03af85c3010b38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5e33943c960df2cbfc50102c564aa6b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ac5e33943c960df2cbfc50102c564aa6b">BIG_528_28_monty</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> a, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> md, <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> d)</td></tr>
<tr class="memdesc:ac5e33943c960df2cbfc50102c564aa6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised. <a href="#ac5e33943c960df2cbfc50102c564aa6b">More...</a><br /></td></tr>
<tr class="separator:ac5e33943c960df2cbfc50102c564aa6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af84eac0e282b050df29b8c2831aafd61"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#af84eac0e282b050df29b8c2831aafd61">BIG_528_28_shl</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, int s)</td></tr>
<tr class="memdesc:af84eac0e282b050df29b8c2831aafd61"><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="#af84eac0e282b050df29b8c2831aafd61">More...</a><br /></td></tr>
<tr class="separator:af84eac0e282b050df29b8c2831aafd61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade0dcec6578773e4914666c864011bf4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ade0dcec6578773e4914666c864011bf4">BIG_528_28_fshl</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, int s)</td></tr>
<tr class="memdesc:ade0dcec6578773e4914666c864011bf4"><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="#ade0dcec6578773e4914666c864011bf4">More...</a><br /></td></tr>
<tr class="separator:ade0dcec6578773e4914666c864011bf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a913fe1d47dc8be71316c9ed0593548e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a913fe1d47dc8be71316c9ed0593548e2">BIG_528_28_dshl</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, int s)</td></tr>
<tr class="memdesc:a913fe1d47dc8be71316c9ed0593548e2"><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="#a913fe1d47dc8be71316c9ed0593548e2">More...</a><br /></td></tr>
<tr class="separator:a913fe1d47dc8be71316c9ed0593548e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23f0306cbf7328422298aabf1bdae91c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a23f0306cbf7328422298aabf1bdae91c">BIG_528_28_shr</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, int s)</td></tr>
<tr class="memdesc:a23f0306cbf7328422298aabf1bdae91c"><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="#a23f0306cbf7328422298aabf1bdae91c">More...</a><br /></td></tr>
<tr class="separator:a23f0306cbf7328422298aabf1bdae91c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ba7ff541a178ac776d8167b07ba1bb4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a8ba7ff541a178ac776d8167b07ba1bb4">BIG_528_28_ssn</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> r, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> a, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> m)</td></tr>
<tr class="memdesc:a8ba7ff541a178ac776d8167b07ba1bb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast time-critical combined shift by 1 bit, subtract and normalise. <a href="#a8ba7ff541a178ac776d8167b07ba1bb4">More...</a><br /></td></tr>
<tr class="separator:a8ba7ff541a178ac776d8167b07ba1bb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab10e19db598b10c0ec146a82c6a50a82"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ab10e19db598b10c0ec146a82c6a50a82">BIG_528_28_fshr</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, int s)</td></tr>
<tr class="memdesc:ab10e19db598b10c0ec146a82c6a50a82"><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="#ab10e19db598b10c0ec146a82c6a50a82">More...</a><br /></td></tr>
<tr class="separator:ab10e19db598b10c0ec146a82c6a50a82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbc3509fafcc3871fb8a47e770406597"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#abbc3509fafcc3871fb8a47e770406597">BIG_528_28_dshr</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, int s)</td></tr>
<tr class="memdesc:abbc3509fafcc3871fb8a47e770406597"><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="#abbc3509fafcc3871fb8a47e770406597">More...</a><br /></td></tr>
<tr class="separator:abbc3509fafcc3871fb8a47e770406597"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfe96c94a11817c94683b605ec552af1"><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__528__28_8h.html#acfe96c94a11817c94683b605ec552af1">BIG_528_28_split</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> z, int s)</td></tr>
<tr class="memdesc:acfe96c94a11817c94683b605ec552af1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a DBIG into two BIGs - input must be normalised, outputs normalised. <a href="#acfe96c94a11817c94683b605ec552af1">More...</a><br /></td></tr>
<tr class="separator:acfe96c94a11817c94683b605ec552af1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af04aa3708619571cfde9bb15bad00ca4"><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__528__28_8h.html#af04aa3708619571cfde9bb15bad00ca4">BIG_528_28_norm</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
<tr class="memdesc:af04aa3708619571cfde9bb15bad00ca4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a BIG number - output normalised. <a href="#af04aa3708619571cfde9bb15bad00ca4">More...</a><br /></td></tr>
<tr class="separator:af04aa3708619571cfde9bb15bad00ca4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfb0076a794c347af22ad9f5ca10b97a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#abfb0076a794c347af22ad9f5ca10b97a">BIG_528_28_dnorm</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x)</td></tr>
<tr class="memdesc:abfb0076a794c347af22ad9f5ca10b97a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a DBIG number - output normalised. <a href="#abfb0076a794c347af22ad9f5ca10b97a">More...</a><br /></td></tr>
<tr class="separator:abfb0076a794c347af22ad9f5ca10b97a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8978e8871b5d4dfae6ea69f514d64be5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a8978e8871b5d4dfae6ea69f514d64be5">BIG_528_28_comp</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y)</td></tr>
<tr class="memdesc:a8978e8871b5d4dfae6ea69f514d64be5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two BIG numbers. Inputs must be normalised externally. <a href="#a8978e8871b5d4dfae6ea69f514d64be5">More...</a><br /></td></tr>
<tr class="separator:a8978e8871b5d4dfae6ea69f514d64be5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a118caa14783ac4a9f002cbf3a66a8e27"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a118caa14783ac4a9f002cbf3a66a8e27">BIG_528_28_dcomp</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> y)</td></tr>
<tr class="memdesc:a118caa14783ac4a9f002cbf3a66a8e27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two DBIG numbers. Inputs must be normalised externally. <a href="#a118caa14783ac4a9f002cbf3a66a8e27">More...</a><br /></td></tr>
<tr class="separator:a118caa14783ac4a9f002cbf3a66a8e27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abaf0336e531b0e380b2f27ef702fc62f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#abaf0336e531b0e380b2f27ef702fc62f">BIG_528_28_nbits</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
<tr class="memdesc:abaf0336e531b0e380b2f27ef702fc62f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a BIG - output normalised. <a href="#abaf0336e531b0e380b2f27ef702fc62f">More...</a><br /></td></tr>
<tr class="separator:abaf0336e531b0e380b2f27ef702fc62f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a881c780a7cc7f641849621561fbfce"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a7a881c780a7cc7f641849621561fbfce">BIG_528_28_dnbits</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x)</td></tr>
<tr class="memdesc:a7a881c780a7cc7f641849621561fbfce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a DBIG - output normalised. <a href="#a7a881c780a7cc7f641849621561fbfce">More...</a><br /></td></tr>
<tr class="separator:a7a881c780a7cc7f641849621561fbfce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4e1081eb2bc5dc1b36adbb412abb4e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#aa4e1081eb2bc5dc1b36adbb412abb4e1">BIG_528_28_mod</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> n)</td></tr>
<tr class="memdesc:aa4e1081eb2bc5dc1b36adbb412abb4e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce x mod n - input and output normalised. <a href="#aa4e1081eb2bc5dc1b36adbb412abb4e1">More...</a><br /></td></tr>
<tr class="separator:aa4e1081eb2bc5dc1b36adbb412abb4e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2562458d3f8a8008128ac67afb7875d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#aa2562458d3f8a8008128ac67afb7875d">BIG_528_28_sdiv</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> n)</td></tr>
<tr class="memdesc:aa2562458d3f8a8008128ac67afb7875d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide x by n - output normalised. <a href="#aa2562458d3f8a8008128ac67afb7875d">More...</a><br /></td></tr>
<tr class="separator:aa2562458d3f8a8008128ac67afb7875d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeeaf15dd7ce5cf6ae1abfa078b4b4167"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#aeeaf15dd7ce5cf6ae1abfa078b4b4167">BIG_528_28_dmod</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> n)</td></tr>
<tr class="memdesc:aeeaf15dd7ce5cf6ae1abfa078b4b4167"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y mod n - output normalised <a href="#aeeaf15dd7ce5cf6ae1abfa078b4b4167">More...</a><br /></td></tr>
<tr class="separator:aeeaf15dd7ce5cf6ae1abfa078b4b4167"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4c1f0866606ad2a5089f986113888a5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ae4c1f0866606ad2a5089f986113888a5">BIG_528_28_ddiv</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> n)</td></tr>
<tr class="memdesc:ae4c1f0866606ad2a5089f986113888a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y/n - output normalised <a href="#ae4c1f0866606ad2a5089f986113888a5">More...</a><br /></td></tr>
<tr class="separator:ae4c1f0866606ad2a5089f986113888a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a783851f26377ab6e8e056195c9969fb6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a783851f26377ab6e8e056195c9969fb6">BIG_528_28_parity</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
<tr class="memdesc:a783851f26377ab6e8e056195c9969fb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">return parity of BIG, that is the least significant bit <a href="#a783851f26377ab6e8e056195c9969fb6">More...</a><br /></td></tr>
<tr class="separator:a783851f26377ab6e8e056195c9969fb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26f4a682a6a89ef6dd9c64a3bba8f43c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a26f4a682a6a89ef6dd9c64a3bba8f43c">BIG_528_28_bit</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, int i)</td></tr>
<tr class="memdesc:a26f4a682a6a89ef6dd9c64a3bba8f43c"><td class="mdescLeft">&#160;</td><td class="mdescRight">return i-th of BIG <a href="#a26f4a682a6a89ef6dd9c64a3bba8f43c">More...</a><br /></td></tr>
<tr class="separator:a26f4a682a6a89ef6dd9c64a3bba8f43c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6eb9952d9e970fb79a55b1ae2aa5a367"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a6eb9952d9e970fb79a55b1ae2aa5a367">BIG_528_28_lastbits</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, int n)</td></tr>
<tr class="memdesc:a6eb9952d9e970fb79a55b1ae2aa5a367"><td class="mdescLeft">&#160;</td><td class="mdescRight">return least significant bits of a BIG <a href="#a6eb9952d9e970fb79a55b1ae2aa5a367">More...</a><br /></td></tr>
<tr class="separator:a6eb9952d9e970fb79a55b1ae2aa5a367"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92e1ed0b13a7788df7d941fc79a7a3c8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a92e1ed0b13a7788df7d941fc79a7a3c8">BIG_528_28_random</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
<tr class="memdesc:a92e1ed0b13a7788df7d941fc79a7a3c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random BIG from a random number generator. <a href="#a92e1ed0b13a7788df7d941fc79a7a3c8">More...</a><br /></td></tr>
<tr class="separator:a92e1ed0b13a7788df7d941fc79a7a3c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaab6a6248a527f05c379c77e4c4d783"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#afaab6a6248a527f05c379c77e4c4d783">BIG_528_28_randomnum</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> n, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
<tr class="memdesc:afaab6a6248a527f05c379c77e4c4d783"><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="#afaab6a6248a527f05c379c77e4c4d783">More...</a><br /></td></tr>
<tr class="separator:afaab6a6248a527f05c379c77e4c4d783"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ba3e7bef81a07c9d75dd186263d894d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a1ba3e7bef81a07c9d75dd186263d894d">BIG_528_28_modmul</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> z, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> n)</td></tr>
<tr class="memdesc:a1ba3e7bef81a07c9d75dd186263d894d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y*z mod n. <a href="#a1ba3e7bef81a07c9d75dd186263d894d">More...</a><br /></td></tr>
<tr class="separator:a1ba3e7bef81a07c9d75dd186263d894d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52c6f2272e4b5ff16eb39dc5e5004a1a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a52c6f2272e4b5ff16eb39dc5e5004a1a">BIG_528_28_moddiv</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> z, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> n)</td></tr>
<tr class="memdesc:a52c6f2272e4b5ff16eb39dc5e5004a1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y/z mod n. <a href="#a52c6f2272e4b5ff16eb39dc5e5004a1a">More...</a><br /></td></tr>
<tr class="separator:a52c6f2272e4b5ff16eb39dc5e5004a1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bf6cd12e6aec3f0fbc55731abada663"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a5bf6cd12e6aec3f0fbc55731abada663">BIG_528_28_modsqr</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> n)</td></tr>
<tr class="memdesc:a5bf6cd12e6aec3f0fbc55731abada663"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y^2 mod n. <a href="#a5bf6cd12e6aec3f0fbc55731abada663">More...</a><br /></td></tr>
<tr class="separator:a5bf6cd12e6aec3f0fbc55731abada663"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a869ba3a39774e991efc6c85072212231"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a869ba3a39774e991efc6c85072212231">BIG_528_28_modneg</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> n)</td></tr>
<tr class="memdesc:a869ba3a39774e991efc6c85072212231"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=-y mod n. <a href="#a869ba3a39774e991efc6c85072212231">More...</a><br /></td></tr>
<tr class="separator:a869ba3a39774e991efc6c85072212231"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3b892ca6e6668f802c693bbfb4b7cb1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#af3b892ca6e6668f802c693bbfb4b7cb1">BIG_528_28_jacobi</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y)</td></tr>
<tr class="memdesc:af3b892ca6e6668f802c693bbfb4b7cb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate jacobi Symbol (x/y) <a href="#af3b892ca6e6668f802c693bbfb4b7cb1">More...</a><br /></td></tr>
<tr class="separator:af3b892ca6e6668f802c693bbfb4b7cb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1f0333c8e24c708067d867573e39d83"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ae1f0333c8e24c708067d867573e39d83">BIG_528_28_invmodp</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> n)</td></tr>
<tr class="memdesc:ae1f0333c8e24c708067d867573e39d83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=1/y mod n. <a href="#ae1f0333c8e24c708067d867573e39d83">More...</a><br /></td></tr>
<tr class="separator:ae1f0333c8e24c708067d867573e39d83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d53293cc2730c96e9cd46d38bb7866c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a7d53293cc2730c96e9cd46d38bb7866c">BIG_528_28_mod2m</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, int m)</td></tr>
<tr class="memdesc:a7d53293cc2730c96e9cd46d38bb7866c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m. <a href="#a7d53293cc2730c96e9cd46d38bb7866c">More...</a><br /></td></tr>
<tr class="separator:a7d53293cc2730c96e9cd46d38bb7866c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af647547e90a21cca1016b1250b841251"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#af647547e90a21cca1016b1250b841251">BIG_528_28_dmod2m</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, int m)</td></tr>
<tr class="memdesc:af647547e90a21cca1016b1250b841251"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m. <a href="#af647547e90a21cca1016b1250b841251">More...</a><br /></td></tr>
<tr class="separator:af647547e90a21cca1016b1250b841251"><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="a0525b6e9fdd66250ad0a082d4b43452c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0525b6e9fdd66250ad0a082d4b43452c">&#9670;&nbsp;</a></span>BIGBITS_528_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BIGBITS_528_28&#160;&#160;&#160;(8*<a class="el" href="config__big__528__28_8h.html#a20815b5e833d3addbc05164516eac4a6">MODBYTES_528_28</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Length in bits </p>
</div>
</div>
<a id="a82082efa3a70836e15d9d625873fc626"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82082efa3a70836e15d9d625873fc626">&#9670;&nbsp;</a></span>BMASK_528_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BMASK_528_28&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">BASEBITS_528_28</a>)-1)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Mask = 2^BASEBITS-1 </p>
</div>
</div>
<a id="a1b5dfb4b5ee31d7fb7838e9abdf795c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b5dfb4b5ee31d7fb7838e9abdf795c2">&#9670;&nbsp;</a></span>DNLEN_528_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DNLEN_528_28&#160;&#160;&#160;2*<a class="el" href="big__528__28_8h.html#a692cc7adcebe504dfc5bb67a12d414bf">NLEN_528_28</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Double length in bytes </p>
</div>
</div>
<a id="a4670085502e0eb472b9acd8414b89d4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4670085502e0eb472b9acd8414b89d4f">&#9670;&nbsp;</a></span>HBITS_528_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HBITS_528_28&#160;&#160;&#160;(<a class="el" href="config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">BASEBITS_528_28</a>/2)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of bits in number base divided by 2 </p>
</div>
</div>
<a id="aedfdf9a531fd7ad921bbf3cd33a288d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aedfdf9a531fd7ad921bbf3cd33a288d6">&#9670;&nbsp;</a></span>HMASK_528_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HMASK_528_28&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__528__28_8h.html#a4670085502e0eb472b9acd8414b89d4f">HBITS_528_28</a>)-1)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Mask = 2^HBITS-1 </p>
</div>
</div>
<a id="a2b0456920d6877c24ced651bc6ff5617"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b0456920d6877c24ced651bc6ff5617">&#9670;&nbsp;</a></span>NEXCESS_528_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define NEXCESS_528_28&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">BASEBITS_528_28</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="a692cc7adcebe504dfc5bb67a12d414bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a692cc7adcebe504dfc5bb67a12d414bf">&#9670;&nbsp;</a></span>NLEN_528_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define NLEN_528_28&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__528__28_8h.html#a20815b5e833d3addbc05164516eac4a6">MODBYTES_528_28</a>-1)/<a class="el" href="config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">BASEBITS_528_28</a>))</td>
</tr>
</table>
</div><div class="memdoc">
<p>length in bytes </p>
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a619606adb161746fcbb4d51d55a5cd1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a619606adb161746fcbb4d51d55a5cd1e">&#9670;&nbsp;</a></span>BIG_528_28</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_528_28[<a class="el" href="big__528__28_8h.html#a692cc7adcebe504dfc5bb67a12d414bf">NLEN_528_28</a>]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Define type BIG as array of chunks </p>
</div>
</div>
<a id="ac1ffd0faa58216991ca472333e1e209e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac1ffd0faa58216991ca472333e1e209e">&#9670;&nbsp;</a></span>DBIG_528_28</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_528_28[<a class="el" href="big__528__28_8h.html#a1b5dfb4b5ee31d7fb7838e9abdf795c2">DNLEN_528_28</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="a7afd96bac59d42371b76b95890835631"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7afd96bac59d42371b76b95890835631">&#9670;&nbsp;</a></span>BIG_528_28_add()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_add </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a26f4a682a6a89ef6dd9c64a3bba8f43c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26f4a682a6a89ef6dd9c64a3bba8f43c">&#9670;&nbsp;</a></span>BIG_528_28_bit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_528_28_bit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a5eba982c2daae8928c7d338454e7aa11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5eba982c2daae8928c7d338454e7aa11">&#9670;&nbsp;</a></span>BIG_528_28_cmove()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_cmove </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a8978e8871b5d4dfae6ea69f514d64be5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8978e8871b5d4dfae6ea69f514d64be5">&#9670;&nbsp;</a></span>BIG_528_28_comp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_528_28_comp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a69773e3420a22bbe38ec7a7d5e30df85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69773e3420a22bbe38ec7a7d5e30df85">&#9670;&nbsp;</a></span>BIG_528_28_copy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_copy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a9bfcaa1d61f41b532fc113f41393bb67"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9bfcaa1d61f41b532fc113f41393bb67">&#9670;&nbsp;</a></span>BIG_528_28_cswap()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_cswap </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a204806f27e1337ef58f7af2758860fd5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a204806f27e1337ef58f7af2758860fd5">&#9670;&nbsp;</a></span>BIG_528_28_dadd()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_dadd </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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="ae9f20276f7d3c2879801ee2c9d4b48e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9f20276f7d3c2879801ee2c9d4b48e2">&#9670;&nbsp;</a></span>BIG_528_28_dcmove()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_dcmove </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a118caa14783ac4a9f002cbf3a66a8e27"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a118caa14783ac4a9f002cbf3a66a8e27">&#9670;&nbsp;</a></span>BIG_528_28_dcomp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_528_28_dcomp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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="afccc8f44d19aeaead975ffeff494ca72"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afccc8f44d19aeaead975ffeff494ca72">&#9670;&nbsp;</a></span>BIG_528_28_dcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_dcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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="ae4c1f0866606ad2a5089f986113888a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4c1f0866606ad2a5089f986113888a5">&#9670;&nbsp;</a></span>BIG_528_28_ddiv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_ddiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="ae2796b69476d18c8b72874d7062e1409"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2796b69476d18c8b72874d7062e1409">&#9670;&nbsp;</a></span>BIG_528_28_dec()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_dec </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="ac63c75100d3183b113f17c3a71bc1558"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac63c75100d3183b113f17c3a71bc1558">&#9670;&nbsp;</a></span>BIG_528_28_dfromBytesLen()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_dfromBytesLen </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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="a3fcba50db34f3327aa7605ea68d5a14f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3fcba50db34f3327aa7605ea68d5a14f">&#9670;&nbsp;</a></span>BIG_528_28_diszilch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_528_28_diszilch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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="ac5f14d540b28f48d3b6f5a4f830dabcc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5f14d540b28f48d3b6f5a4f830dabcc">&#9670;&nbsp;</a></span>BIG_528_28_div3()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_528_28_div3 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="aeeaf15dd7ce5cf6ae1abfa078b4b4167"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeeaf15dd7ce5cf6ae1abfa078b4b4167">&#9670;&nbsp;</a></span>BIG_528_28_dmod()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_dmod </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="af647547e90a21cca1016b1250b841251"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af647547e90a21cca1016b1250b841251">&#9670;&nbsp;</a></span>BIG_528_28_dmod2m()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_dmod2m </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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">
<pre class="fragment">Truncation
@param x DBIG number, on reduced mod 2^m
@param m new truncated size
</pre>
</div>
</div>
<a id="a7a881c780a7cc7f641849621561fbfce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a881c780a7cc7f641849621561fbfce">&#9670;&nbsp;</a></span>BIG_528_28_dnbits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_528_28_dnbits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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="abfb0076a794c347af22ad9f5ca10b97a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abfb0076a794c347af22ad9f5ca10b97a">&#9670;&nbsp;</a></span>BIG_528_28_dnorm()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_dnorm </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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="a2004f4fe879078f894fa47bf4f8d9018"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2004f4fe879078f894fa47bf4f8d9018">&#9670;&nbsp;</a></span>BIG_528_28_doutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_doutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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="a92d211f719b808f8bff3e5416485829a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92d211f719b808f8bff3e5416485829a">&#9670;&nbsp;</a></span>BIG_528_28_drawoutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_drawoutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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="ab035b57893889988fa1e6a6a741de5db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab035b57893889988fa1e6a6a741de5db">&#9670;&nbsp;</a></span>BIG_528_28_dscopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_dscopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a913fe1d47dc8be71316c9ed0593548e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a913fe1d47dc8be71316c9ed0593548e2">&#9670;&nbsp;</a></span>BIG_528_28_dshl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_dshl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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="abbc3509fafcc3871fb8a47e770406597"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abbc3509fafcc3871fb8a47e770406597">&#9670;&nbsp;</a></span>BIG_528_28_dshr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_dshr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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="a1bd3af5dbdd4141d281fc0f49c22bd67"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1bd3af5dbdd4141d281fc0f49c22bd67">&#9670;&nbsp;</a></span>BIG_528_28_dsub()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_dsub </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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="a3605d741288e107006f8a870c19b58d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3605d741288e107006f8a870c19b58d7">&#9670;&nbsp;</a></span>BIG_528_28_dsucopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_dsucopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="aaa9178d7e1d15437f3142d84943c80b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa9178d7e1d15437f3142d84943c80b4">&#9670;&nbsp;</a></span>BIG_528_28_dzero()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_dzero </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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="a0ac81676878f639d380137b47dc640c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ac81676878f639d380137b47dc640c1">&#9670;&nbsp;</a></span>BIG_528_28_fromBytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_fromBytes </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a001cdba454b1c6bd4051f8edfa72971f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a001cdba454b1c6bd4051f8edfa72971f">&#9670;&nbsp;</a></span>BIG_528_28_fromBytesLen()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_fromBytesLen </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="ade0dcec6578773e4914666c864011bf4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade0dcec6578773e4914666c864011bf4">&#9670;&nbsp;</a></span>BIG_528_28_fshl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_528_28_fshl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="ab10e19db598b10c0ec146a82c6a50a82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab10e19db598b10c0ec146a82c6a50a82">&#9670;&nbsp;</a></span>BIG_528_28_fshr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_528_28_fshr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="ad6ddc379684077bfc78ac3c655399aed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6ddc379684077bfc78ac3c655399aed">&#9670;&nbsp;</a></span>BIG_528_28_imul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_imul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="aecc2507f27540e765099a45641bd1001"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aecc2507f27540e765099a45641bd1001">&#9670;&nbsp;</a></span>BIG_528_28_inc()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_inc </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a93e28db178c675ff24319a01869c67cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93e28db178c675ff24319a01869c67cf">&#9670;&nbsp;</a></span>BIG_528_28_invmod2m()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_invmod2m </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="ae1f0333c8e24c708067d867573e39d83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1f0333c8e24c708067d867573e39d83">&#9670;&nbsp;</a></span>BIG_528_28_invmodp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_invmodp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a1ea2000ea11c779bcc15c7c9b45a23e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ea2000ea11c779bcc15c7c9b45a23e6">&#9670;&nbsp;</a></span>BIG_528_28_isunity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_528_28_isunity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a759b359beb86544bb4399e56b9370125"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a759b359beb86544bb4399e56b9370125">&#9670;&nbsp;</a></span>BIG_528_28_iszilch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_528_28_iszilch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="af3b892ca6e6668f802c693bbfb4b7cb1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3b892ca6e6668f802c693bbfb4b7cb1">&#9670;&nbsp;</a></span>BIG_528_28_jacobi()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_528_28_jacobi </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a6eb9952d9e970fb79a55b1ae2aa5a367"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6eb9952d9e970fb79a55b1ae2aa5a367">&#9670;&nbsp;</a></span>BIG_528_28_lastbits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_528_28_lastbits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="aa4e1081eb2bc5dc1b36adbb412abb4e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4e1081eb2bc5dc1b36adbb412abb4e1">&#9670;&nbsp;</a></span>BIG_528_28_mod()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_mod </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a7d53293cc2730c96e9cd46d38bb7866c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d53293cc2730c96e9cd46d38bb7866c">&#9670;&nbsp;</a></span>BIG_528_28_mod2m()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_mod2m </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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">
<pre class="fragment">Truncation
@param x BIG number, on reduced mod 2^m
@param m new truncated size
</pre>
</div>
</div>
<a id="a52c6f2272e4b5ff16eb39dc5e5004a1a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52c6f2272e4b5ff16eb39dc5e5004a1a">&#9670;&nbsp;</a></span>BIG_528_28_moddiv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_moddiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a1ba3e7bef81a07c9d75dd186263d894d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ba3e7bef81a07c9d75dd186263d894d">&#9670;&nbsp;</a></span>BIG_528_28_modmul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_modmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a869ba3a39774e991efc6c85072212231"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a869ba3a39774e991efc6c85072212231">&#9670;&nbsp;</a></span>BIG_528_28_modneg()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_modneg </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a5bf6cd12e6aec3f0fbc55731abada663"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5bf6cd12e6aec3f0fbc55731abada663">&#9670;&nbsp;</a></span>BIG_528_28_modsqr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_modsqr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="ac5e33943c960df2cbfc50102c564aa6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5e33943c960df2cbfc50102c564aa6b">&#9670;&nbsp;</a></span>BIG_528_28_monty()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_monty </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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="ae8745b1338c0e96c6f616a06bf7dffee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8745b1338c0e96c6f616a06bf7dffee">&#9670;&nbsp;</a></span>BIG_528_28_mul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_mul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="abaf0336e531b0e380b2f27ef702fc62f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abaf0336e531b0e380b2f27ef702fc62f">&#9670;&nbsp;</a></span>BIG_528_28_nbits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_528_28_nbits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="af04aa3708619571cfde9bb15bad00ca4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af04aa3708619571cfde9bb15bad00ca4">&#9670;&nbsp;</a></span>BIG_528_28_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_528_28_norm </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="ada2780244b0ed167c9fcb365014ac992"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada2780244b0ed167c9fcb365014ac992">&#9670;&nbsp;</a></span>BIG_528_28_one()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_one </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a73d2125663f4285274f82da9cd465f31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73d2125663f4285274f82da9cd465f31">&#9670;&nbsp;</a></span>BIG_528_28_or()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_or </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a7202be5bc08fa6abfae7d1da9bfbcf2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7202be5bc08fa6abfae7d1da9bfbcf2f">&#9670;&nbsp;</a></span>BIG_528_28_output()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_output </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a783851f26377ab6e8e056195c9969fb6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a783851f26377ab6e8e056195c9969fb6">&#9670;&nbsp;</a></span>BIG_528_28_parity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_528_28_parity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="ad313e8a3ed0aaf2758e6c17e98a78673"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad313e8a3ed0aaf2758e6c17e98a78673">&#9670;&nbsp;</a></span>BIG_528_28_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_528_28_pmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a0e70619bafa1344244aa1a6a2306f53e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e70619bafa1344244aa1a6a2306f53e">&#9670;&nbsp;</a></span>BIG_528_28_pxmul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_pxmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a92e1ed0b13a7788df7d941fc79a7a3c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92e1ed0b13a7788df7d941fc79a7a3c8">&#9670;&nbsp;</a></span>BIG_528_28_random()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_random </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="afaab6a6248a527f05c379c77e4c4d783"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afaab6a6248a527f05c379c77e4c4d783">&#9670;&nbsp;</a></span>BIG_528_28_randomnum()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_randomnum </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a7bf84a2fdffc5317a7c1008f209debe8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7bf84a2fdffc5317a7c1008f209debe8">&#9670;&nbsp;</a></span>BIG_528_28_rawoutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_rawoutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="ac49a401e55aef325b85c04ff5a0f03e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac49a401e55aef325b85c04ff5a0f03e3">&#9670;&nbsp;</a></span>BIG_528_28_rcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_rcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a90335a8a99381ced32eb28ecc27cd4a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a90335a8a99381ced32eb28ecc27cd4a0">&#9670;&nbsp;</a></span>BIG_528_28_sdcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_sdcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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="aa2562458d3f8a8008128ac67afb7875d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2562458d3f8a8008128ac67afb7875d">&#9670;&nbsp;</a></span>BIG_528_28_sdiv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_sdiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="aabb757eb8a57b274a480d6fad7fb5ef4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aabb757eb8a57b274a480d6fad7fb5ef4">&#9670;&nbsp;</a></span>BIG_528_28_sducopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_sducopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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="af84eac0e282b050df29b8c2831aafd61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af84eac0e282b050df29b8c2831aafd61">&#9670;&nbsp;</a></span>BIG_528_28_shl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_shl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a23f0306cbf7328422298aabf1bdae91c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23f0306cbf7328422298aabf1bdae91c">&#9670;&nbsp;</a></span>BIG_528_28_shr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_shr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a3363c0a6b6ec862cb5774c646cfa3c03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3363c0a6b6ec862cb5774c646cfa3c03">&#9670;&nbsp;</a></span>BIG_528_28_smul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_smul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="acfe96c94a11817c94683b605ec552af1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acfe96c94a11817c94683b605ec552af1">&#9670;&nbsp;</a></span>BIG_528_28_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_528_28_split </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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="ac56118aa8725b3b1fc03af85c3010b38"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac56118aa8725b3b1fc03af85c3010b38">&#9670;&nbsp;</a></span>BIG_528_28_sqr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_sqr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a8ba7ff541a178ac776d8167b07ba1bb4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ba7ff541a178ac776d8167b07ba1bb4">&#9670;&nbsp;</a></span>BIG_528_28_ssn()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_528_28_ssn </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="ac0bd12529378dba03e33365c29e7696e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0bd12529378dba03e33365c29e7696e">&#9670;&nbsp;</a></span>BIG_528_28_sub()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_sub </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a4765f04b8f89ff50d79fbf0240863445"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4765f04b8f89ff50d79fbf0240863445">&#9670;&nbsp;</a></span>BIG_528_28_toBytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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="a7b346504e2eb7132227acfaa4fc96233"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b346504e2eb7132227acfaa4fc96233">&#9670;&nbsp;</a></span>BIG_528_28_zero()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_528_28_zero </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</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.15
</small></address>
</body>
</html>