blob: d2f20497f737ec63d7991e5034ef1f306ac27fcb [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_512_29.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_512_29.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__512__29_8h_source.html">config_big_512_29.h</a>&quot;</code><br />
</div>
<p><a href="big__512__29_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:a4ddec2d6c6f7f1609ded4668d1d73c6a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a4ddec2d6c6f7f1609ded4668d1d73c6a">BIGBITS_512_29</a>&#160;&#160;&#160;(8*<a class="el" href="config__big__512__29_8h.html#af1e6c5a48330c6f9e834cefedf29b12e">MODBYTES_512_29</a>)</td></tr>
<tr class="separator:a4ddec2d6c6f7f1609ded4668d1d73c6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0dce870dae751af5136f4884be7ff6c2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a0dce870dae751af5136f4884be7ff6c2">NLEN_512_29</a>&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__512__29_8h.html#af1e6c5a48330c6f9e834cefedf29b12e">MODBYTES_512_29</a>-1)/<a class="el" href="config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d">BASEBITS_512_29</a>))</td></tr>
<tr class="separator:a0dce870dae751af5136f4884be7ff6c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfe44d8588bd795d4e89c4ed71c678cd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#adfe44d8588bd795d4e89c4ed71c678cd">DNLEN_512_29</a>&#160;&#160;&#160;2*<a class="el" href="big__512__29_8h.html#a0dce870dae751af5136f4884be7ff6c2">NLEN_512_29</a></td></tr>
<tr class="separator:adfe44d8588bd795d4e89c4ed71c678cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeaae8fdd385b6bb97821f6938a2f972d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#aeaae8fdd385b6bb97821f6938a2f972d">BMASK_512_29</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d">BASEBITS_512_29</a>)-1)</td></tr>
<tr class="separator:aeaae8fdd385b6bb97821f6938a2f972d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbb65ff3dcf6f8c01ad07af79c8aed5a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#abbb65ff3dcf6f8c01ad07af79c8aed5a">NEXCESS_512_29</a>&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d">BASEBITS_512_29</a>-1))</td></tr>
<tr class="separator:abbb65ff3dcf6f8c01ad07af79c8aed5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb0b7111551770ccad3de595f72ec1dc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#aeb0b7111551770ccad3de595f72ec1dc">HBITS_512_29</a>&#160;&#160;&#160;(<a class="el" href="config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d">BASEBITS_512_29</a>/2)</td></tr>
<tr class="separator:aeb0b7111551770ccad3de595f72ec1dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24fd39c4a9249896d4f4f04a56c6cbb3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a24fd39c4a9249896d4f4f04a56c6cbb3">HMASK_512_29</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__512__29_8h.html#aeb0b7111551770ccad3de595f72ec1dc">HBITS_512_29</a>)-1)</td></tr>
<tr class="separator:a24fd39c4a9249896d4f4f04a56c6cbb3"><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:aa158f4654aade263ca6b586723e4a8f2"><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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>[<a class="el" href="big__512__29_8h.html#a0dce870dae751af5136f4884be7ff6c2">NLEN_512_29</a>]</td></tr>
<tr class="separator:aa158f4654aade263ca6b586723e4a8f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3efad5f4e604a43d3ef080510b6cbc1d"><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__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a>[<a class="el" href="big__512__29_8h.html#adfe44d8588bd795d4e89c4ed71c678cd">DNLEN_512_29</a>]</td></tr>
<tr class="separator:a3efad5f4e604a43d3ef080510b6cbc1d"><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:a9b67440bd86823dc6c93068f6259b36a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a9b67440bd86823dc6c93068f6259b36a">BIG_512_29_iszilch</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
<tr class="memdesc:a9b67440bd86823dc6c93068f6259b36a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to zero. <a href="#a9b67440bd86823dc6c93068f6259b36a">More...</a><br /></td></tr>
<tr class="separator:a9b67440bd86823dc6c93068f6259b36a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a1d7cd9bf0fb160b308e007487220cd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a0a1d7cd9bf0fb160b308e007487220cd">BIG_512_29_isunity</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
<tr class="memdesc:a0a1d7cd9bf0fb160b308e007487220cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to one. <a href="#a0a1d7cd9bf0fb160b308e007487220cd">More...</a><br /></td></tr>
<tr class="separator:a0a1d7cd9bf0fb160b308e007487220cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b4fee35bb5a87693561f43f711c429f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a6b4fee35bb5a87693561f43f711c429f">BIG_512_29_diszilch</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x)</td></tr>
<tr class="memdesc:a6b4fee35bb5a87693561f43f711c429f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for DBIG equal to zero. <a href="#a6b4fee35bb5a87693561f43f711c429f">More...</a><br /></td></tr>
<tr class="separator:a6b4fee35bb5a87693561f43f711c429f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3a1506f9c8d3e9eb183871fbc445d86"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#aa3a1506f9c8d3e9eb183871fbc445d86">BIG_512_29_output</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
<tr class="memdesc:aa3a1506f9c8d3e9eb183871fbc445d86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console. <a href="#aa3a1506f9c8d3e9eb183871fbc445d86">More...</a><br /></td></tr>
<tr class="separator:aa3a1506f9c8d3e9eb183871fbc445d86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a964c31ebf5da6c9f720e71488e92c229"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a964c31ebf5da6c9f720e71488e92c229">BIG_512_29_rawoutput</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
<tr class="memdesc:a964c31ebf5da6c9f720e71488e92c229"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console in raw form (for debugging) <a href="#a964c31ebf5da6c9f720e71488e92c229">More...</a><br /></td></tr>
<tr class="separator:a964c31ebf5da6c9f720e71488e92c229"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d741d44e70c267ac25447772639cc4b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a4d741d44e70c267ac25447772639cc4b">BIG_512_29_cswap</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, int s)</td></tr>
<tr class="memdesc:a4d741d44e70c267ac25447772639cc4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional constant time swap of two BIG numbers. <a href="#a4d741d44e70c267ac25447772639cc4b">More...</a><br /></td></tr>
<tr class="separator:a4d741d44e70c267ac25447772639cc4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7b88a0698325b8b2f024bc7fc7de6e5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ae7b88a0698325b8b2f024bc7fc7de6e5">BIG_512_29_cmove</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, int s)</td></tr>
<tr class="memdesc:ae7b88a0698325b8b2f024bc7fc7de6e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of BIG number. <a href="#ae7b88a0698325b8b2f024bc7fc7de6e5">More...</a><br /></td></tr>
<tr class="separator:ae7b88a0698325b8b2f024bc7fc7de6e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d2f6fc83e7d0edc6e2387dbf745af64"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a6d2f6fc83e7d0edc6e2387dbf745af64">BIG_512_29_dcmove</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, int s)</td></tr>
<tr class="memdesc:a6d2f6fc83e7d0edc6e2387dbf745af64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of DBIG number. <a href="#a6d2f6fc83e7d0edc6e2387dbf745af64">More...</a><br /></td></tr>
<tr class="separator:a6d2f6fc83e7d0edc6e2387dbf745af64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a582f433b44350ccac18c8bb2ef0683c9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a582f433b44350ccac18c8bb2ef0683c9">BIG_512_29_toBytes</a> (char *a, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
<tr class="memdesc:a582f433b44350ccac18c8bb2ef0683c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from BIG number to byte array. <a href="#a582f433b44350ccac18c8bb2ef0683c9">More...</a><br /></td></tr>
<tr class="separator:a582f433b44350ccac18c8bb2ef0683c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a778f9f8324146cd108bb733470f94bc4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a778f9f8324146cd108bb733470f94bc4">BIG_512_29_fromBytes</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, char *a)</td></tr>
<tr class="memdesc:a778f9f8324146cd108bb733470f94bc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array. <a href="#a778f9f8324146cd108bb733470f94bc4">More...</a><br /></td></tr>
<tr class="separator:a778f9f8324146cd108bb733470f94bc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a060938bb70049000034ee79e4d5df8a5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a060938bb70049000034ee79e4d5df8a5">BIG_512_29_fromBytesLen</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, char *a, int s)</td></tr>
<tr class="memdesc:a060938bb70049000034ee79e4d5df8a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array of given length. <a href="#a060938bb70049000034ee79e4d5df8a5">More...</a><br /></td></tr>
<tr class="separator:a060938bb70049000034ee79e4d5df8a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7240de125fe7edc33b9d2b42501670a9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a7240de125fe7edc33b9d2b42501670a9">BIG_512_29_dfromBytesLen</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, char *a, int s)</td></tr>
<tr class="memdesc:a7240de125fe7edc33b9d2b42501670a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to DBIG number from byte array of given length. <a href="#a7240de125fe7edc33b9d2b42501670a9">More...</a><br /></td></tr>
<tr class="separator:a7240de125fe7edc33b9d2b42501670a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad12d14dea932c78537a270d3637fd0cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ad12d14dea932c78537a270d3637fd0cb">BIG_512_29_doutput</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x)</td></tr>
<tr class="memdesc:ad12d14dea932c78537a270d3637fd0cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console. <a href="#ad12d14dea932c78537a270d3637fd0cb">More...</a><br /></td></tr>
<tr class="separator:ad12d14dea932c78537a270d3637fd0cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d4d5f5da2a3b96e945f74b9e58aff60"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a1d4d5f5da2a3b96e945f74b9e58aff60">BIG_512_29_drawoutput</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x)</td></tr>
<tr class="memdesc:a1d4d5f5da2a3b96e945f74b9e58aff60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console. <a href="#a1d4d5f5da2a3b96e945f74b9e58aff60">More...</a><br /></td></tr>
<tr class="separator:a1d4d5f5da2a3b96e945f74b9e58aff60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18b23f26a5d38fcbb00cfc8b6c9c5074"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a18b23f26a5d38fcbb00cfc8b6c9c5074">BIG_512_29_rcopy</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, const <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y)</td></tr>
<tr class="memdesc:a18b23f26a5d38fcbb00cfc8b6c9c5074"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG from Read-Only Memory to a BIG. <a href="#a18b23f26a5d38fcbb00cfc8b6c9c5074">More...</a><br /></td></tr>
<tr class="separator:a18b23f26a5d38fcbb00cfc8b6c9c5074"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53bb3078d97123c97fd18fa4ac1303b0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a53bb3078d97123c97fd18fa4ac1303b0">BIG_512_29_copy</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y)</td></tr>
<tr class="memdesc:a53bb3078d97123c97fd18fa4ac1303b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to another BIG. <a href="#a53bb3078d97123c97fd18fa4ac1303b0">More...</a><br /></td></tr>
<tr class="separator:a53bb3078d97123c97fd18fa4ac1303b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d9ce0a85928fdcba3c0ae04ca6de41a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a5d9ce0a85928fdcba3c0ae04ca6de41a">BIG_512_29_dcopy</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> y)</td></tr>
<tr class="memdesc:a5d9ce0a85928fdcba3c0ae04ca6de41a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy DBIG to another DBIG. <a href="#a5d9ce0a85928fdcba3c0ae04ca6de41a">More...</a><br /></td></tr>
<tr class="separator:a5d9ce0a85928fdcba3c0ae04ca6de41a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a278fadb24eca779cdb3fd3ae3f247125"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a278fadb24eca779cdb3fd3ae3f247125">BIG_512_29_dsucopy</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y)</td></tr>
<tr class="memdesc:a278fadb24eca779cdb3fd3ae3f247125"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to upper half of DBIG. <a href="#a278fadb24eca779cdb3fd3ae3f247125">More...</a><br /></td></tr>
<tr class="separator:a278fadb24eca779cdb3fd3ae3f247125"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63f756ee341108a1243525b79fae8071"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a63f756ee341108a1243525b79fae8071">BIG_512_29_dscopy</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y)</td></tr>
<tr class="memdesc:a63f756ee341108a1243525b79fae8071"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to lower half of DBIG. <a href="#a63f756ee341108a1243525b79fae8071">More...</a><br /></td></tr>
<tr class="separator:a63f756ee341108a1243525b79fae8071"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c281888a5acd5431ebd914cd88507c3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a7c281888a5acd5431ebd914cd88507c3">BIG_512_29_sdcopy</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> y)</td></tr>
<tr class="memdesc:a7c281888a5acd5431ebd914cd88507c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy lower half of DBIG to a BIG. <a href="#a7c281888a5acd5431ebd914cd88507c3">More...</a><br /></td></tr>
<tr class="separator:a7c281888a5acd5431ebd914cd88507c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16d0d8b4f066c5d2f49f3fd0340198c4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a16d0d8b4f066c5d2f49f3fd0340198c4">BIG_512_29_sducopy</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> y)</td></tr>
<tr class="memdesc:a16d0d8b4f066c5d2f49f3fd0340198c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy upper half of DBIG to a BIG. <a href="#a16d0d8b4f066c5d2f49f3fd0340198c4">More...</a><br /></td></tr>
<tr class="separator:a16d0d8b4f066c5d2f49f3fd0340198c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f1b5d55f4bf7d5c436cc020e7f86f01"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a0f1b5d55f4bf7d5c436cc020e7f86f01">BIG_512_29_zero</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
<tr class="memdesc:a0f1b5d55f4bf7d5c436cc020e7f86f01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to zero. <a href="#a0f1b5d55f4bf7d5c436cc020e7f86f01">More...</a><br /></td></tr>
<tr class="separator:a0f1b5d55f4bf7d5c436cc020e7f86f01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83aca7417f7c9fd686c9dff9e6972f69"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a83aca7417f7c9fd686c9dff9e6972f69">BIG_512_29_dzero</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x)</td></tr>
<tr class="memdesc:a83aca7417f7c9fd686c9dff9e6972f69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to zero. <a href="#a83aca7417f7c9fd686c9dff9e6972f69">More...</a><br /></td></tr>
<tr class="separator:a83aca7417f7c9fd686c9dff9e6972f69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f1937ca0a5c2f670587bafd66259514"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a8f1937ca0a5c2f670587bafd66259514">BIG_512_29_one</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
<tr class="memdesc:a8f1937ca0a5c2f670587bafd66259514"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to one (unity) <a href="#a8f1937ca0a5c2f670587bafd66259514">More...</a><br /></td></tr>
<tr class="separator:a8f1937ca0a5c2f670587bafd66259514"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad64b757779c8517f8dab751ced045dd9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ad64b757779c8517f8dab751ced045dd9">BIG_512_29_invmod2m</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
<tr class="memdesc:ad64b757779c8517f8dab751ced045dd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to inverse mod 2^256. <a href="#ad64b757779c8517f8dab751ced045dd9">More...</a><br /></td></tr>
<tr class="separator:ad64b757779c8517f8dab751ced045dd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2f85ff69a12d1c673001265fe9287c7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ac2f85ff69a12d1c673001265fe9287c7">BIG_512_29_add</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> z)</td></tr>
<tr class="memdesc:ac2f85ff69a12d1c673001265fe9287c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to sum of two BIGs - output not normalised. <a href="#ac2f85ff69a12d1c673001265fe9287c7">More...</a><br /></td></tr>
<tr class="separator:ac2f85ff69a12d1c673001265fe9287c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4b89a753ad1cd5bf17c4949fb72cdfa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ae4b89a753ad1cd5bf17c4949fb72cdfa">BIG_512_29_or</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> z)</td></tr>
<tr class="memdesc:ae4b89a753ad1cd5bf17c4949fb72cdfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to logical or of two BIGs - output normalised. <a href="#ae4b89a753ad1cd5bf17c4949fb72cdfa">More...</a><br /></td></tr>
<tr class="separator:ae4b89a753ad1cd5bf17c4949fb72cdfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbc9ed42984c2d126fa3b4a1f5a9a827"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#afbc9ed42984c2d126fa3b4a1f5a9a827">BIG_512_29_inc</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, int i)</td></tr>
<tr class="memdesc:afbc9ed42984c2d126fa3b4a1f5a9a827"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment BIG by a small integer - output not normalised. <a href="#afbc9ed42984c2d126fa3b4a1f5a9a827">More...</a><br /></td></tr>
<tr class="separator:afbc9ed42984c2d126fa3b4a1f5a9a827"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab01841e5c4356fc85218aa533c2959c2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ab01841e5c4356fc85218aa533c2959c2">BIG_512_29_sub</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> z)</td></tr>
<tr class="memdesc:ab01841e5c4356fc85218aa533c2959c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to difference of two BIGs. <a href="#ab01841e5c4356fc85218aa533c2959c2">More...</a><br /></td></tr>
<tr class="separator:ab01841e5c4356fc85218aa533c2959c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a623e829c317486582447b2a59b8839da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a623e829c317486582447b2a59b8839da">BIG_512_29_dec</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, int i)</td></tr>
<tr class="memdesc:a623e829c317486582447b2a59b8839da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement BIG by a small integer - output not normalised. <a href="#a623e829c317486582447b2a59b8839da">More...</a><br /></td></tr>
<tr class="separator:a623e829c317486582447b2a59b8839da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbfdfbbdb7f299009c216672c0fb8297"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#adbfdfbbdb7f299009c216672c0fb8297">BIG_512_29_dadd</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> z)</td></tr>
<tr class="memdesc:adbfdfbbdb7f299009c216672c0fb8297"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to sum of two DBIGs. <a href="#adbfdfbbdb7f299009c216672c0fb8297">More...</a><br /></td></tr>
<tr class="separator:adbfdfbbdb7f299009c216672c0fb8297"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3745869f88b23a4507d85ffa9a294546"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a3745869f88b23a4507d85ffa9a294546">BIG_512_29_dsub</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> z)</td></tr>
<tr class="memdesc:a3745869f88b23a4507d85ffa9a294546"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to difference of two DBIGs. <a href="#a3745869f88b23a4507d85ffa9a294546">More...</a><br /></td></tr>
<tr class="separator:a3745869f88b23a4507d85ffa9a294546"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d86e4b4058ebb377e1d66c27c55a995"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a4d86e4b4058ebb377e1d66c27c55a995">BIG_512_29_imul</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, int i)</td></tr>
<tr class="memdesc:a4d86e4b4058ebb377e1d66c27c55a995"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by a small integer - output not normalised. <a href="#a4d86e4b4058ebb377e1d66c27c55a995">More...</a><br /></td></tr>
<tr class="separator:a4d86e4b4058ebb377e1d66c27c55a995"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4228d6b8a030f4bef5ab7e0b410fd44f"><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__512__29_8h.html#a4228d6b8a030f4bef5ab7e0b410fd44f">BIG_512_29_pmul</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, int i)</td></tr>
<tr class="memdesc:a4228d6b8a030f4bef5ab7e0b410fd44f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by not-so-small small integer - output normalised. <a href="#a4228d6b8a030f4bef5ab7e0b410fd44f">More...</a><br /></td></tr>
<tr class="separator:a4228d6b8a030f4bef5ab7e0b410fd44f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3d7bfab2ebd283735821fc85028b668"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ad3d7bfab2ebd283735821fc85028b668">BIG_512_29_div3</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
<tr class="memdesc:ad3d7bfab2ebd283735821fc85028b668"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide BIG by 3 - output normalised. <a href="#ad3d7bfab2ebd283735821fc85028b668">More...</a><br /></td></tr>
<tr class="separator:ad3d7bfab2ebd283735821fc85028b668"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a94ce5c018ffff20b4e0356d2ccea8e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a7a94ce5c018ffff20b4e0356d2ccea8e">BIG_512_29_pxmul</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, int i)</td></tr>
<tr class="memdesc:a7a94ce5c018ffff20b4e0356d2ccea8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised. <a href="#a7a94ce5c018ffff20b4e0356d2ccea8e">More...</a><br /></td></tr>
<tr class="separator:a7a94ce5c018ffff20b4e0356d2ccea8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd82428cda0fd33b8280d0b755d61b8a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#abd82428cda0fd33b8280d0b755d61b8a">BIG_512_29_mul</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> z)</td></tr>
<tr class="memdesc:abd82428cda0fd33b8280d0b755d61b8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised. <a href="#abd82428cda0fd33b8280d0b755d61b8a">More...</a><br /></td></tr>
<tr class="separator:abd82428cda0fd33b8280d0b755d61b8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9710f734e630b79f31fa89b54bed459"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ae9710f734e630b79f31fa89b54bed459">BIG_512_29_smul</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> z)</td></tr>
<tr class="memdesc:ae9710f734e630b79f31fa89b54bed459"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised. <a href="#ae9710f734e630b79f31fa89b54bed459">More...</a><br /></td></tr>
<tr class="separator:ae9710f734e630b79f31fa89b54bed459"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6191e9e7f8d278bd3f6cbd9d02248056"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a6191e9e7f8d278bd3f6cbd9d02248056">BIG_512_29_sqr</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y)</td></tr>
<tr class="memdesc:a6191e9e7f8d278bd3f6cbd9d02248056"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square BIG resulting in a DBIG - input normalised and output normalised. <a href="#a6191e9e7f8d278bd3f6cbd9d02248056">More...</a><br /></td></tr>
<tr class="separator:a6191e9e7f8d278bd3f6cbd9d02248056"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf78f5363442d2919d366a9fb1de6382"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#adf78f5363442d2919d366a9fb1de6382">BIG_512_29_monty</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> a, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> md, <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> d)</td></tr>
<tr class="memdesc:adf78f5363442d2919d366a9fb1de6382"><td class="mdescLeft">&#160;</td><td class="mdescRight">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised. <a href="#adf78f5363442d2919d366a9fb1de6382">More...</a><br /></td></tr>
<tr class="separator:adf78f5363442d2919d366a9fb1de6382"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55df3aca1fa7e47bb8e8baa8519c8db5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a55df3aca1fa7e47bb8e8baa8519c8db5">BIG_512_29_shl</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, int s)</td></tr>
<tr class="memdesc:a55df3aca1fa7e47bb8e8baa8519c8db5"><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="#a55df3aca1fa7e47bb8e8baa8519c8db5">More...</a><br /></td></tr>
<tr class="separator:a55df3aca1fa7e47bb8e8baa8519c8db5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4586281c3a555718580d243395c4e6ca"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a4586281c3a555718580d243395c4e6ca">BIG_512_29_fshl</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, int s)</td></tr>
<tr class="memdesc:a4586281c3a555718580d243395c4e6ca"><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="#a4586281c3a555718580d243395c4e6ca">More...</a><br /></td></tr>
<tr class="separator:a4586281c3a555718580d243395c4e6ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2aefe7da8c61c812d945dec1905607c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ae2aefe7da8c61c812d945dec1905607c">BIG_512_29_dshl</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, int s)</td></tr>
<tr class="memdesc:ae2aefe7da8c61c812d945dec1905607c"><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="#ae2aefe7da8c61c812d945dec1905607c">More...</a><br /></td></tr>
<tr class="separator:ae2aefe7da8c61c812d945dec1905607c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5c57b2fd674d94bbacc5be3b79fcd9b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#aa5c57b2fd674d94bbacc5be3b79fcd9b">BIG_512_29_shr</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, int s)</td></tr>
<tr class="memdesc:aa5c57b2fd674d94bbacc5be3b79fcd9b"><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="#aa5c57b2fd674d94bbacc5be3b79fcd9b">More...</a><br /></td></tr>
<tr class="separator:aa5c57b2fd674d94bbacc5be3b79fcd9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09e401bfba7158e57df4160a21afca82"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a09e401bfba7158e57df4160a21afca82">BIG_512_29_ssn</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> r, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> a, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> m)</td></tr>
<tr class="memdesc:a09e401bfba7158e57df4160a21afca82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast time-critical combined shift by 1 bit, subtract and normalise. <a href="#a09e401bfba7158e57df4160a21afca82">More...</a><br /></td></tr>
<tr class="separator:a09e401bfba7158e57df4160a21afca82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a018725bccf723b24153ca3ba6831033a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a018725bccf723b24153ca3ba6831033a">BIG_512_29_fshr</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, int s)</td></tr>
<tr class="memdesc:a018725bccf723b24153ca3ba6831033a"><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="#a018725bccf723b24153ca3ba6831033a">More...</a><br /></td></tr>
<tr class="separator:a018725bccf723b24153ca3ba6831033a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f140d82cb4a89af91157d32a9ad9e16"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a2f140d82cb4a89af91157d32a9ad9e16">BIG_512_29_dshr</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, int s)</td></tr>
<tr class="memdesc:a2f140d82cb4a89af91157d32a9ad9e16"><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="#a2f140d82cb4a89af91157d32a9ad9e16">More...</a><br /></td></tr>
<tr class="separator:a2f140d82cb4a89af91157d32a9ad9e16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a975ac4241bfc4ad5134ba5c2b77a7b37"><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__512__29_8h.html#a975ac4241bfc4ad5134ba5c2b77a7b37">BIG_512_29_split</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> z, int s)</td></tr>
<tr class="memdesc:a975ac4241bfc4ad5134ba5c2b77a7b37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a DBIG into two BIGs - input must be normalised, outputs normalised. <a href="#a975ac4241bfc4ad5134ba5c2b77a7b37">More...</a><br /></td></tr>
<tr class="separator:a975ac4241bfc4ad5134ba5c2b77a7b37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23acbd536c366fea9d4001e92ec78453"><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__512__29_8h.html#a23acbd536c366fea9d4001e92ec78453">BIG_512_29_norm</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
<tr class="memdesc:a23acbd536c366fea9d4001e92ec78453"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a BIG number - output normalised. <a href="#a23acbd536c366fea9d4001e92ec78453">More...</a><br /></td></tr>
<tr class="separator:a23acbd536c366fea9d4001e92ec78453"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aece92f7efb9d0440fc6cb812c6de1c1d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#aece92f7efb9d0440fc6cb812c6de1c1d">BIG_512_29_dnorm</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x)</td></tr>
<tr class="memdesc:aece92f7efb9d0440fc6cb812c6de1c1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a DBIG number - output normalised. <a href="#aece92f7efb9d0440fc6cb812c6de1c1d">More...</a><br /></td></tr>
<tr class="separator:aece92f7efb9d0440fc6cb812c6de1c1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad0f6d11b7dce3821f73da36a2d06cfb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#aad0f6d11b7dce3821f73da36a2d06cfb">BIG_512_29_comp</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y)</td></tr>
<tr class="memdesc:aad0f6d11b7dce3821f73da36a2d06cfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two BIG numbers. Inputs must be normalised externally. <a href="#aad0f6d11b7dce3821f73da36a2d06cfb">More...</a><br /></td></tr>
<tr class="separator:aad0f6d11b7dce3821f73da36a2d06cfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43a6835ee969b9f6ab09d7b00fdc3fb9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a43a6835ee969b9f6ab09d7b00fdc3fb9">BIG_512_29_dcomp</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> y)</td></tr>
<tr class="memdesc:a43a6835ee969b9f6ab09d7b00fdc3fb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two DBIG numbers. Inputs must be normalised externally. <a href="#a43a6835ee969b9f6ab09d7b00fdc3fb9">More...</a><br /></td></tr>
<tr class="separator:a43a6835ee969b9f6ab09d7b00fdc3fb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89fbc95ccfe2a1f2f732cde1cc9ab933"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a89fbc95ccfe2a1f2f732cde1cc9ab933">BIG_512_29_nbits</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
<tr class="memdesc:a89fbc95ccfe2a1f2f732cde1cc9ab933"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a BIG - output normalised. <a href="#a89fbc95ccfe2a1f2f732cde1cc9ab933">More...</a><br /></td></tr>
<tr class="separator:a89fbc95ccfe2a1f2f732cde1cc9ab933"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae492d7b08e1e336de308fe76d8e0625"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#aae492d7b08e1e336de308fe76d8e0625">BIG_512_29_dnbits</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x)</td></tr>
<tr class="memdesc:aae492d7b08e1e336de308fe76d8e0625"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a DBIG - output normalised. <a href="#aae492d7b08e1e336de308fe76d8e0625">More...</a><br /></td></tr>
<tr class="separator:aae492d7b08e1e336de308fe76d8e0625"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3169eca0357ce4f06bc5b8a93f59ee4c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a3169eca0357ce4f06bc5b8a93f59ee4c">BIG_512_29_mod</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> n)</td></tr>
<tr class="memdesc:a3169eca0357ce4f06bc5b8a93f59ee4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce x mod n - input and output normalised. <a href="#a3169eca0357ce4f06bc5b8a93f59ee4c">More...</a><br /></td></tr>
<tr class="separator:a3169eca0357ce4f06bc5b8a93f59ee4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef4408d8a5441e103299919094c7fb34"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#aef4408d8a5441e103299919094c7fb34">BIG_512_29_sdiv</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> n)</td></tr>
<tr class="memdesc:aef4408d8a5441e103299919094c7fb34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide x by n - output normalised. <a href="#aef4408d8a5441e103299919094c7fb34">More...</a><br /></td></tr>
<tr class="separator:aef4408d8a5441e103299919094c7fb34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af595007e5e5e8975fb5bf15bf28c1ce8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#af595007e5e5e8975fb5bf15bf28c1ce8">BIG_512_29_dmod</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> n)</td></tr>
<tr class="memdesc:af595007e5e5e8975fb5bf15bf28c1ce8"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y mod n - output normalised <a href="#af595007e5e5e8975fb5bf15bf28c1ce8">More...</a><br /></td></tr>
<tr class="separator:af595007e5e5e8975fb5bf15bf28c1ce8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32a1b425a87c32077188bb8827ad0907"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a32a1b425a87c32077188bb8827ad0907">BIG_512_29_ddiv</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> n)</td></tr>
<tr class="memdesc:a32a1b425a87c32077188bb8827ad0907"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y/n - output normalised <a href="#a32a1b425a87c32077188bb8827ad0907">More...</a><br /></td></tr>
<tr class="separator:a32a1b425a87c32077188bb8827ad0907"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d959b6de32195ba502d4160f2e35f5c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a9d959b6de32195ba502d4160f2e35f5c">BIG_512_29_parity</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
<tr class="memdesc:a9d959b6de32195ba502d4160f2e35f5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">return parity of BIG, that is the least significant bit <a href="#a9d959b6de32195ba502d4160f2e35f5c">More...</a><br /></td></tr>
<tr class="separator:a9d959b6de32195ba502d4160f2e35f5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52fe588767f417e17f2ff91e14d4f0d2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a52fe588767f417e17f2ff91e14d4f0d2">BIG_512_29_bit</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, int i)</td></tr>
<tr class="memdesc:a52fe588767f417e17f2ff91e14d4f0d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">return i-th of BIG <a href="#a52fe588767f417e17f2ff91e14d4f0d2">More...</a><br /></td></tr>
<tr class="separator:a52fe588767f417e17f2ff91e14d4f0d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa51db5a8af87b17de2ccb1a02be9079"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#afa51db5a8af87b17de2ccb1a02be9079">BIG_512_29_lastbits</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, int n)</td></tr>
<tr class="memdesc:afa51db5a8af87b17de2ccb1a02be9079"><td class="mdescLeft">&#160;</td><td class="mdescRight">return least significant bits of a BIG <a href="#afa51db5a8af87b17de2ccb1a02be9079">More...</a><br /></td></tr>
<tr class="separator:afa51db5a8af87b17de2ccb1a02be9079"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bc4fb6d28d626022202e37530b46a93"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a8bc4fb6d28d626022202e37530b46a93">BIG_512_29_random</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
<tr class="memdesc:a8bc4fb6d28d626022202e37530b46a93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random BIG from a random number generator. <a href="#a8bc4fb6d28d626022202e37530b46a93">More...</a><br /></td></tr>
<tr class="separator:a8bc4fb6d28d626022202e37530b46a93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c7cb43d9d7989e40994adc6af11cde3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a1c7cb43d9d7989e40994adc6af11cde3">BIG_512_29_randomnum</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> n, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
<tr class="memdesc:a1c7cb43d9d7989e40994adc6af11cde3"><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="#a1c7cb43d9d7989e40994adc6af11cde3">More...</a><br /></td></tr>
<tr class="separator:a1c7cb43d9d7989e40994adc6af11cde3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6202e0561fa9b5c7bba0e5b9038b4409"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a6202e0561fa9b5c7bba0e5b9038b4409">BIG_512_29_modmul</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> z, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> n)</td></tr>
<tr class="memdesc:a6202e0561fa9b5c7bba0e5b9038b4409"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y*z mod n. <a href="#a6202e0561fa9b5c7bba0e5b9038b4409">More...</a><br /></td></tr>
<tr class="separator:a6202e0561fa9b5c7bba0e5b9038b4409"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace5a92c10b16492379ccee4392c97ddc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ace5a92c10b16492379ccee4392c97ddc">BIG_512_29_moddiv</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> z, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> n)</td></tr>
<tr class="memdesc:ace5a92c10b16492379ccee4392c97ddc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y/z mod n. <a href="#ace5a92c10b16492379ccee4392c97ddc">More...</a><br /></td></tr>
<tr class="separator:ace5a92c10b16492379ccee4392c97ddc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad49db2e5974d3d631d165c9b275082f5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ad49db2e5974d3d631d165c9b275082f5">BIG_512_29_modsqr</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> n)</td></tr>
<tr class="memdesc:ad49db2e5974d3d631d165c9b275082f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y^2 mod n. <a href="#ad49db2e5974d3d631d165c9b275082f5">More...</a><br /></td></tr>
<tr class="separator:ad49db2e5974d3d631d165c9b275082f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd47bab847bdb38013c08105671f4721"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#afd47bab847bdb38013c08105671f4721">BIG_512_29_modneg</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> n)</td></tr>
<tr class="memdesc:afd47bab847bdb38013c08105671f4721"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=-y mod n. <a href="#afd47bab847bdb38013c08105671f4721">More...</a><br /></td></tr>
<tr class="separator:afd47bab847bdb38013c08105671f4721"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6225d20d3d8ed3beaa3da97cef89d0ce"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a6225d20d3d8ed3beaa3da97cef89d0ce">BIG_512_29_jacobi</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y)</td></tr>
<tr class="memdesc:a6225d20d3d8ed3beaa3da97cef89d0ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate jacobi Symbol (x/y) <a href="#a6225d20d3d8ed3beaa3da97cef89d0ce">More...</a><br /></td></tr>
<tr class="separator:a6225d20d3d8ed3beaa3da97cef89d0ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c63adac85065baabb73d2b3b05d4e76"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a0c63adac85065baabb73d2b3b05d4e76">BIG_512_29_invmodp</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> n)</td></tr>
<tr class="memdesc:a0c63adac85065baabb73d2b3b05d4e76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=1/y mod n. <a href="#a0c63adac85065baabb73d2b3b05d4e76">More...</a><br /></td></tr>
<tr class="separator:a0c63adac85065baabb73d2b3b05d4e76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75067ebd644cc9eaa908d0cdbcb71444"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a75067ebd644cc9eaa908d0cdbcb71444">BIG_512_29_mod2m</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, int m)</td></tr>
<tr class="memdesc:a75067ebd644cc9eaa908d0cdbcb71444"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m. <a href="#a75067ebd644cc9eaa908d0cdbcb71444">More...</a><br /></td></tr>
<tr class="separator:a75067ebd644cc9eaa908d0cdbcb71444"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad91ff777de7b653080996b67b46c8bde"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ad91ff777de7b653080996b67b46c8bde">BIG_512_29_dmod2m</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, int m)</td></tr>
<tr class="memdesc:ad91ff777de7b653080996b67b46c8bde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m. <a href="#ad91ff777de7b653080996b67b46c8bde">More...</a><br /></td></tr>
<tr class="separator:ad91ff777de7b653080996b67b46c8bde"><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="a4ddec2d6c6f7f1609ded4668d1d73c6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ddec2d6c6f7f1609ded4668d1d73c6a">&#9670;&nbsp;</a></span>BIGBITS_512_29</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BIGBITS_512_29&#160;&#160;&#160;(8*<a class="el" href="config__big__512__29_8h.html#af1e6c5a48330c6f9e834cefedf29b12e">MODBYTES_512_29</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Length in bits </p>
</div>
</div>
<a id="aeaae8fdd385b6bb97821f6938a2f972d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeaae8fdd385b6bb97821f6938a2f972d">&#9670;&nbsp;</a></span>BMASK_512_29</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BMASK_512_29&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d">BASEBITS_512_29</a>)-1)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Mask = 2^BASEBITS-1 </p>
</div>
</div>
<a id="adfe44d8588bd795d4e89c4ed71c678cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adfe44d8588bd795d4e89c4ed71c678cd">&#9670;&nbsp;</a></span>DNLEN_512_29</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DNLEN_512_29&#160;&#160;&#160;2*<a class="el" href="big__512__29_8h.html#a0dce870dae751af5136f4884be7ff6c2">NLEN_512_29</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Double length in bytes </p>
</div>
</div>
<a id="aeb0b7111551770ccad3de595f72ec1dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb0b7111551770ccad3de595f72ec1dc">&#9670;&nbsp;</a></span>HBITS_512_29</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HBITS_512_29&#160;&#160;&#160;(<a class="el" href="config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d">BASEBITS_512_29</a>/2)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of bits in number base divided by 2 </p>
</div>
</div>
<a id="a24fd39c4a9249896d4f4f04a56c6cbb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24fd39c4a9249896d4f4f04a56c6cbb3">&#9670;&nbsp;</a></span>HMASK_512_29</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HMASK_512_29&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__512__29_8h.html#aeb0b7111551770ccad3de595f72ec1dc">HBITS_512_29</a>)-1)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Mask = 2^HBITS-1 </p>
</div>
</div>
<a id="abbb65ff3dcf6f8c01ad07af79c8aed5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abbb65ff3dcf6f8c01ad07af79c8aed5a">&#9670;&nbsp;</a></span>NEXCESS_512_29</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define NEXCESS_512_29&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d">BASEBITS_512_29</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="a0dce870dae751af5136f4884be7ff6c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0dce870dae751af5136f4884be7ff6c2">&#9670;&nbsp;</a></span>NLEN_512_29</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define NLEN_512_29&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__512__29_8h.html#af1e6c5a48330c6f9e834cefedf29b12e">MODBYTES_512_29</a>-1)/<a class="el" href="config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d">BASEBITS_512_29</a>))</td>
</tr>
</table>
</div><div class="memdoc">
<p>length in bytes </p>
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="aa158f4654aade263ca6b586723e4a8f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa158f4654aade263ca6b586723e4a8f2">&#9670;&nbsp;</a></span>BIG_512_29</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_512_29[<a class="el" href="big__512__29_8h.html#a0dce870dae751af5136f4884be7ff6c2">NLEN_512_29</a>]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Define type BIG as array of chunks </p>
</div>
</div>
<a id="a3efad5f4e604a43d3ef080510b6cbc1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3efad5f4e604a43d3ef080510b6cbc1d">&#9670;&nbsp;</a></span>DBIG_512_29</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_512_29[<a class="el" href="big__512__29_8h.html#adfe44d8588bd795d4e89c4ed71c678cd">DNLEN_512_29</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="ac2f85ff69a12d1c673001265fe9287c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2f85ff69a12d1c673001265fe9287c7">&#9670;&nbsp;</a></span>BIG_512_29_add()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_add </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a52fe588767f417e17f2ff91e14d4f0d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52fe588767f417e17f2ff91e14d4f0d2">&#9670;&nbsp;</a></span>BIG_512_29_bit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_29_bit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="ae7b88a0698325b8b2f024bc7fc7de6e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7b88a0698325b8b2f024bc7fc7de6e5">&#9670;&nbsp;</a></span>BIG_512_29_cmove()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_cmove </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="aad0f6d11b7dce3821f73da36a2d06cfb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad0f6d11b7dce3821f73da36a2d06cfb">&#9670;&nbsp;</a></span>BIG_512_29_comp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_29_comp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a53bb3078d97123c97fd18fa4ac1303b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53bb3078d97123c97fd18fa4ac1303b0">&#9670;&nbsp;</a></span>BIG_512_29_copy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_copy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a4d741d44e70c267ac25447772639cc4b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d741d44e70c267ac25447772639cc4b">&#9670;&nbsp;</a></span>BIG_512_29_cswap()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_cswap </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="adbfdfbbdb7f299009c216672c0fb8297"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adbfdfbbdb7f299009c216672c0fb8297">&#9670;&nbsp;</a></span>BIG_512_29_dadd()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_dadd </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a6d2f6fc83e7d0edc6e2387dbf745af64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d2f6fc83e7d0edc6e2387dbf745af64">&#9670;&nbsp;</a></span>BIG_512_29_dcmove()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_dcmove </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a43a6835ee969b9f6ab09d7b00fdc3fb9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a43a6835ee969b9f6ab09d7b00fdc3fb9">&#9670;&nbsp;</a></span>BIG_512_29_dcomp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_29_dcomp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a5d9ce0a85928fdcba3c0ae04ca6de41a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d9ce0a85928fdcba3c0ae04ca6de41a">&#9670;&nbsp;</a></span>BIG_512_29_dcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_dcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a32a1b425a87c32077188bb8827ad0907"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a32a1b425a87c32077188bb8827ad0907">&#9670;&nbsp;</a></span>BIG_512_29_ddiv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_ddiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a623e829c317486582447b2a59b8839da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a623e829c317486582447b2a59b8839da">&#9670;&nbsp;</a></span>BIG_512_29_dec()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_dec </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a7240de125fe7edc33b9d2b42501670a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7240de125fe7edc33b9d2b42501670a9">&#9670;&nbsp;</a></span>BIG_512_29_dfromBytesLen()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_dfromBytesLen </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a6b4fee35bb5a87693561f43f711c429f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b4fee35bb5a87693561f43f711c429f">&#9670;&nbsp;</a></span>BIG_512_29_diszilch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_29_diszilch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="ad3d7bfab2ebd283735821fc85028b668"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad3d7bfab2ebd283735821fc85028b668">&#9670;&nbsp;</a></span>BIG_512_29_div3()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_29_div3 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="af595007e5e5e8975fb5bf15bf28c1ce8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af595007e5e5e8975fb5bf15bf28c1ce8">&#9670;&nbsp;</a></span>BIG_512_29_dmod()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_dmod </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="ad91ff777de7b653080996b67b46c8bde"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad91ff777de7b653080996b67b46c8bde">&#9670;&nbsp;</a></span>BIG_512_29_dmod2m()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_dmod2m </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="aae492d7b08e1e336de308fe76d8e0625"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae492d7b08e1e336de308fe76d8e0625">&#9670;&nbsp;</a></span>BIG_512_29_dnbits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_29_dnbits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="aece92f7efb9d0440fc6cb812c6de1c1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aece92f7efb9d0440fc6cb812c6de1c1d">&#9670;&nbsp;</a></span>BIG_512_29_dnorm()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_dnorm </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="ad12d14dea932c78537a270d3637fd0cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad12d14dea932c78537a270d3637fd0cb">&#9670;&nbsp;</a></span>BIG_512_29_doutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_doutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a1d4d5f5da2a3b96e945f74b9e58aff60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d4d5f5da2a3b96e945f74b9e58aff60">&#9670;&nbsp;</a></span>BIG_512_29_drawoutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_drawoutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a63f756ee341108a1243525b79fae8071"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63f756ee341108a1243525b79fae8071">&#9670;&nbsp;</a></span>BIG_512_29_dscopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_dscopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="ae2aefe7da8c61c812d945dec1905607c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2aefe7da8c61c812d945dec1905607c">&#9670;&nbsp;</a></span>BIG_512_29_dshl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_dshl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a2f140d82cb4a89af91157d32a9ad9e16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f140d82cb4a89af91157d32a9ad9e16">&#9670;&nbsp;</a></span>BIG_512_29_dshr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_dshr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a3745869f88b23a4507d85ffa9a294546"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3745869f88b23a4507d85ffa9a294546">&#9670;&nbsp;</a></span>BIG_512_29_dsub()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_dsub </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a278fadb24eca779cdb3fd3ae3f247125"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a278fadb24eca779cdb3fd3ae3f247125">&#9670;&nbsp;</a></span>BIG_512_29_dsucopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_dsucopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a83aca7417f7c9fd686c9dff9e6972f69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a83aca7417f7c9fd686c9dff9e6972f69">&#9670;&nbsp;</a></span>BIG_512_29_dzero()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_dzero </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a778f9f8324146cd108bb733470f94bc4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a778f9f8324146cd108bb733470f94bc4">&#9670;&nbsp;</a></span>BIG_512_29_fromBytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_fromBytes </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a060938bb70049000034ee79e4d5df8a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a060938bb70049000034ee79e4d5df8a5">&#9670;&nbsp;</a></span>BIG_512_29_fromBytesLen()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_fromBytesLen </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a4586281c3a555718580d243395c4e6ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4586281c3a555718580d243395c4e6ca">&#9670;&nbsp;</a></span>BIG_512_29_fshl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_29_fshl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a018725bccf723b24153ca3ba6831033a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a018725bccf723b24153ca3ba6831033a">&#9670;&nbsp;</a></span>BIG_512_29_fshr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_29_fshr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a4d86e4b4058ebb377e1d66c27c55a995"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d86e4b4058ebb377e1d66c27c55a995">&#9670;&nbsp;</a></span>BIG_512_29_imul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_imul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="afbc9ed42984c2d126fa3b4a1f5a9a827"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbc9ed42984c2d126fa3b4a1f5a9a827">&#9670;&nbsp;</a></span>BIG_512_29_inc()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_inc </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="ad64b757779c8517f8dab751ced045dd9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad64b757779c8517f8dab751ced045dd9">&#9670;&nbsp;</a></span>BIG_512_29_invmod2m()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_invmod2m </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a0c63adac85065baabb73d2b3b05d4e76"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c63adac85065baabb73d2b3b05d4e76">&#9670;&nbsp;</a></span>BIG_512_29_invmodp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_invmodp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a0a1d7cd9bf0fb160b308e007487220cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a1d7cd9bf0fb160b308e007487220cd">&#9670;&nbsp;</a></span>BIG_512_29_isunity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_29_isunity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a9b67440bd86823dc6c93068f6259b36a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b67440bd86823dc6c93068f6259b36a">&#9670;&nbsp;</a></span>BIG_512_29_iszilch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_29_iszilch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a6225d20d3d8ed3beaa3da97cef89d0ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6225d20d3d8ed3beaa3da97cef89d0ce">&#9670;&nbsp;</a></span>BIG_512_29_jacobi()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_29_jacobi </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="afa51db5a8af87b17de2ccb1a02be9079"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa51db5a8af87b17de2ccb1a02be9079">&#9670;&nbsp;</a></span>BIG_512_29_lastbits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_29_lastbits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a3169eca0357ce4f06bc5b8a93f59ee4c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3169eca0357ce4f06bc5b8a93f59ee4c">&#9670;&nbsp;</a></span>BIG_512_29_mod()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_mod </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a75067ebd644cc9eaa908d0cdbcb71444"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75067ebd644cc9eaa908d0cdbcb71444">&#9670;&nbsp;</a></span>BIG_512_29_mod2m()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_mod2m </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="ace5a92c10b16492379ccee4392c97ddc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace5a92c10b16492379ccee4392c97ddc">&#9670;&nbsp;</a></span>BIG_512_29_moddiv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_moddiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a6202e0561fa9b5c7bba0e5b9038b4409"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6202e0561fa9b5c7bba0e5b9038b4409">&#9670;&nbsp;</a></span>BIG_512_29_modmul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_modmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="afd47bab847bdb38013c08105671f4721"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd47bab847bdb38013c08105671f4721">&#9670;&nbsp;</a></span>BIG_512_29_modneg()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_modneg </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="ad49db2e5974d3d631d165c9b275082f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad49db2e5974d3d631d165c9b275082f5">&#9670;&nbsp;</a></span>BIG_512_29_modsqr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_modsqr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="adf78f5363442d2919d366a9fb1de6382"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf78f5363442d2919d366a9fb1de6382">&#9670;&nbsp;</a></span>BIG_512_29_monty()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_monty </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="abd82428cda0fd33b8280d0b755d61b8a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd82428cda0fd33b8280d0b755d61b8a">&#9670;&nbsp;</a></span>BIG_512_29_mul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_mul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a89fbc95ccfe2a1f2f732cde1cc9ab933"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89fbc95ccfe2a1f2f732cde1cc9ab933">&#9670;&nbsp;</a></span>BIG_512_29_nbits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_29_nbits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a23acbd536c366fea9d4001e92ec78453"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23acbd536c366fea9d4001e92ec78453">&#9670;&nbsp;</a></span>BIG_512_29_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_512_29_norm </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a8f1937ca0a5c2f670587bafd66259514"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f1937ca0a5c2f670587bafd66259514">&#9670;&nbsp;</a></span>BIG_512_29_one()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_one </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="ae4b89a753ad1cd5bf17c4949fb72cdfa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4b89a753ad1cd5bf17c4949fb72cdfa">&#9670;&nbsp;</a></span>BIG_512_29_or()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_or </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="aa3a1506f9c8d3e9eb183871fbc445d86"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3a1506f9c8d3e9eb183871fbc445d86">&#9670;&nbsp;</a></span>BIG_512_29_output()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_output </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a9d959b6de32195ba502d4160f2e35f5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d959b6de32195ba502d4160f2e35f5c">&#9670;&nbsp;</a></span>BIG_512_29_parity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_29_parity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a4228d6b8a030f4bef5ab7e0b410fd44f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4228d6b8a030f4bef5ab7e0b410fd44f">&#9670;&nbsp;</a></span>BIG_512_29_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_512_29_pmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a7a94ce5c018ffff20b4e0356d2ccea8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a94ce5c018ffff20b4e0356d2ccea8e">&#9670;&nbsp;</a></span>BIG_512_29_pxmul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_pxmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a8bc4fb6d28d626022202e37530b46a93"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8bc4fb6d28d626022202e37530b46a93">&#9670;&nbsp;</a></span>BIG_512_29_random()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_random </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a1c7cb43d9d7989e40994adc6af11cde3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c7cb43d9d7989e40994adc6af11cde3">&#9670;&nbsp;</a></span>BIG_512_29_randomnum()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_randomnum </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a964c31ebf5da6c9f720e71488e92c229"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a964c31ebf5da6c9f720e71488e92c229">&#9670;&nbsp;</a></span>BIG_512_29_rawoutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_rawoutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a18b23f26a5d38fcbb00cfc8b6c9c5074"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18b23f26a5d38fcbb00cfc8b6c9c5074">&#9670;&nbsp;</a></span>BIG_512_29_rcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_rcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a7c281888a5acd5431ebd914cd88507c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c281888a5acd5431ebd914cd88507c3">&#9670;&nbsp;</a></span>BIG_512_29_sdcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_sdcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="aef4408d8a5441e103299919094c7fb34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef4408d8a5441e103299919094c7fb34">&#9670;&nbsp;</a></span>BIG_512_29_sdiv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_sdiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a16d0d8b4f066c5d2f49f3fd0340198c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a16d0d8b4f066c5d2f49f3fd0340198c4">&#9670;&nbsp;</a></span>BIG_512_29_sducopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_sducopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a55df3aca1fa7e47bb8e8baa8519c8db5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55df3aca1fa7e47bb8e8baa8519c8db5">&#9670;&nbsp;</a></span>BIG_512_29_shl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_shl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="aa5c57b2fd674d94bbacc5be3b79fcd9b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa5c57b2fd674d94bbacc5be3b79fcd9b">&#9670;&nbsp;</a></span>BIG_512_29_shr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_shr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="ae9710f734e630b79f31fa89b54bed459"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9710f734e630b79f31fa89b54bed459">&#9670;&nbsp;</a></span>BIG_512_29_smul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_smul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a975ac4241bfc4ad5134ba5c2b77a7b37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a975ac4241bfc4ad5134ba5c2b77a7b37">&#9670;&nbsp;</a></span>BIG_512_29_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_512_29_split </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a6191e9e7f8d278bd3f6cbd9d02248056"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6191e9e7f8d278bd3f6cbd9d02248056">&#9670;&nbsp;</a></span>BIG_512_29_sqr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_sqr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a09e401bfba7158e57df4160a21afca82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09e401bfba7158e57df4160a21afca82">&#9670;&nbsp;</a></span>BIG_512_29_ssn()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_29_ssn </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="ab01841e5c4356fc85218aa533c2959c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab01841e5c4356fc85218aa533c2959c2">&#9670;&nbsp;</a></span>BIG_512_29_sub()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_sub </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a582f433b44350ccac18c8bb2ef0683c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a582f433b44350ccac18c8bb2ef0683c9">&#9670;&nbsp;</a></span>BIG_512_29_toBytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a0f1b5d55f4bf7d5c436cc020e7f86f01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f1b5d55f4bf7d5c436cc020e7f86f01">&#9670;&nbsp;</a></span>BIG_512_29_zero()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_29_zero </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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>