blob: 9bdce9176c7f0eb9ce6faa43406d481d4ba03dd3 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>AMCL: big_560_58.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">AMCL
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_df7310d1a865926cc859bcfb1880083f.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">big_560_58.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__560__58_8h_source.html">config_big_560_58.h</a>&quot;</code><br />
</div>
<p><a href="big__560__58_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:a485d9ac4165cf3e0b0d471a21c161a89"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a485d9ac4165cf3e0b0d471a21c161a89">BIGBITS_560_58</a>&#160;&#160;&#160;(8*<a class="el" href="config__big__560__58_8h.html#a13505faed4d03b9091b1e8968c008429">MODBYTES_560_58</a>)</td></tr>
<tr class="separator:a485d9ac4165cf3e0b0d471a21c161a89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba99b483d420773b764f0d8c5fb65415"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#aba99b483d420773b764f0d8c5fb65415">NLEN_560_58</a>&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__560__58_8h.html#a13505faed4d03b9091b1e8968c008429">MODBYTES_560_58</a>-1)/<a class="el" href="config__big__560__58_8h.html#a8e3d43eb3ac0cf5e5f06c1027dba473f">BASEBITS_560_58</a>))</td></tr>
<tr class="separator:aba99b483d420773b764f0d8c5fb65415"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e0a681bf3c4742d517900811692a532"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a9e0a681bf3c4742d517900811692a532">DNLEN_560_58</a>&#160;&#160;&#160;2*<a class="el" href="big__560__58_8h.html#aba99b483d420773b764f0d8c5fb65415">NLEN_560_58</a></td></tr>
<tr class="separator:a9e0a681bf3c4742d517900811692a532"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b0bb0ce0733fde1ea231aa142174663"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a0b0bb0ce0733fde1ea231aa142174663">BMASK_560_58</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__560__58_8h.html#a8e3d43eb3ac0cf5e5f06c1027dba473f">BASEBITS_560_58</a>)-1)</td></tr>
<tr class="separator:a0b0bb0ce0733fde1ea231aa142174663"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c82fbf779b6b62aef7e61f30b6b59e5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a8c82fbf779b6b62aef7e61f30b6b59e5">NEXCESS_560_58</a>&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__560__58_8h.html#a8e3d43eb3ac0cf5e5f06c1027dba473f">BASEBITS_560_58</a>-1))</td></tr>
<tr class="separator:a8c82fbf779b6b62aef7e61f30b6b59e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abadea7c002ee7151ce2d51a9e5371cd4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#abadea7c002ee7151ce2d51a9e5371cd4">HBITS_560_58</a>&#160;&#160;&#160;(<a class="el" href="config__big__560__58_8h.html#a8e3d43eb3ac0cf5e5f06c1027dba473f">BASEBITS_560_58</a>/2)</td></tr>
<tr class="separator:abadea7c002ee7151ce2d51a9e5371cd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78f794282590bebb05b1e746d0b907e2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a78f794282590bebb05b1e746d0b907e2">HMASK_560_58</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__560__58_8h.html#abadea7c002ee7151ce2d51a9e5371cd4">HBITS_560_58</a>)-1)</td></tr>
<tr class="separator:a78f794282590bebb05b1e746d0b907e2"><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:a6149450df1017dc5c4ef9e54fad78b30"><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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a>[<a class="el" href="big__560__58_8h.html#aba99b483d420773b764f0d8c5fb65415">NLEN_560_58</a>]</td></tr>
<tr class="separator:a6149450df1017dc5c4ef9e54fad78b30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa190c896863df8c0bfbe5b7421ed94f2"><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__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a>[<a class="el" href="big__560__58_8h.html#a9e0a681bf3c4742d517900811692a532">DNLEN_560_58</a>]</td></tr>
<tr class="separator:aa190c896863df8c0bfbe5b7421ed94f2"><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:a2916cb489d9285e99bbcf90d357c3099"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a2916cb489d9285e99bbcf90d357c3099">BIG_560_58_iszilch</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x)</td></tr>
<tr class="memdesc:a2916cb489d9285e99bbcf90d357c3099"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to zero. <a href="#a2916cb489d9285e99bbcf90d357c3099">More...</a><br /></td></tr>
<tr class="separator:a2916cb489d9285e99bbcf90d357c3099"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02b88360183b0b0286799b49f6eea012"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a02b88360183b0b0286799b49f6eea012">BIG_560_58_isunity</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x)</td></tr>
<tr class="memdesc:a02b88360183b0b0286799b49f6eea012"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to one. <a href="#a02b88360183b0b0286799b49f6eea012">More...</a><br /></td></tr>
<tr class="separator:a02b88360183b0b0286799b49f6eea012"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30b28ced4ed7d6181913af8002f521e0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a30b28ced4ed7d6181913af8002f521e0">BIG_560_58_diszilch</a> (<a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x)</td></tr>
<tr class="memdesc:a30b28ced4ed7d6181913af8002f521e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for DBIG equal to zero. <a href="#a30b28ced4ed7d6181913af8002f521e0">More...</a><br /></td></tr>
<tr class="separator:a30b28ced4ed7d6181913af8002f521e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c05c6d233b0a74c879a6075fc0b1a95"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a9c05c6d233b0a74c879a6075fc0b1a95">BIG_560_58_output</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x)</td></tr>
<tr class="memdesc:a9c05c6d233b0a74c879a6075fc0b1a95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console. <a href="#a9c05c6d233b0a74c879a6075fc0b1a95">More...</a><br /></td></tr>
<tr class="separator:a9c05c6d233b0a74c879a6075fc0b1a95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a923c4866689e2c2d4c4f6fea450c7494"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a923c4866689e2c2d4c4f6fea450c7494">BIG_560_58_rawoutput</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x)</td></tr>
<tr class="memdesc:a923c4866689e2c2d4c4f6fea450c7494"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console in raw form (for debugging) <a href="#a923c4866689e2c2d4c4f6fea450c7494">More...</a><br /></td></tr>
<tr class="separator:a923c4866689e2c2d4c4f6fea450c7494"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc6c3f005628330af453f7a6de911455"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#afc6c3f005628330af453f7a6de911455">BIG_560_58_cswap</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y, int s)</td></tr>
<tr class="memdesc:afc6c3f005628330af453f7a6de911455"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional constant time swap of two BIG numbers. <a href="#afc6c3f005628330af453f7a6de911455">More...</a><br /></td></tr>
<tr class="separator:afc6c3f005628330af453f7a6de911455"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2719180589480b71f07fa913faaba4cf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a2719180589480b71f07fa913faaba4cf">BIG_560_58_cmove</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y, int s)</td></tr>
<tr class="memdesc:a2719180589480b71f07fa913faaba4cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of BIG number. <a href="#a2719180589480b71f07fa913faaba4cf">More...</a><br /></td></tr>
<tr class="separator:a2719180589480b71f07fa913faaba4cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e8a48d59f31233e070c5aecfd6071df"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a8e8a48d59f31233e070c5aecfd6071df">BIG_560_58_dcmove</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y, int s)</td></tr>
<tr class="memdesc:a8e8a48d59f31233e070c5aecfd6071df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of DBIG number. <a href="#a8e8a48d59f31233e070c5aecfd6071df">More...</a><br /></td></tr>
<tr class="separator:a8e8a48d59f31233e070c5aecfd6071df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab3994b47d2707e5a9cabf1169e10064"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#aab3994b47d2707e5a9cabf1169e10064">BIG_560_58_toBytes</a> (char *a, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x)</td></tr>
<tr class="memdesc:aab3994b47d2707e5a9cabf1169e10064"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from BIG number to byte array. <a href="#aab3994b47d2707e5a9cabf1169e10064">More...</a><br /></td></tr>
<tr class="separator:aab3994b47d2707e5a9cabf1169e10064"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ccda9b0667e1e45fbe339fce171d623"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a8ccda9b0667e1e45fbe339fce171d623">BIG_560_58_fromBytes</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, char *a)</td></tr>
<tr class="memdesc:a8ccda9b0667e1e45fbe339fce171d623"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array. <a href="#a8ccda9b0667e1e45fbe339fce171d623">More...</a><br /></td></tr>
<tr class="separator:a8ccda9b0667e1e45fbe339fce171d623"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1712ce09846955ed495dfa84d9bba13a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a1712ce09846955ed495dfa84d9bba13a">BIG_560_58_fromBytesLen</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, char *a, int s)</td></tr>
<tr class="memdesc:a1712ce09846955ed495dfa84d9bba13a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array of given length. <a href="#a1712ce09846955ed495dfa84d9bba13a">More...</a><br /></td></tr>
<tr class="separator:a1712ce09846955ed495dfa84d9bba13a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f74d26683d65d7af8dd323dc3c90819"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a9f74d26683d65d7af8dd323dc3c90819">BIG_560_58_dfromBytesLen</a> (<a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x, char *a, int s)</td></tr>
<tr class="memdesc:a9f74d26683d65d7af8dd323dc3c90819"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to DBIG number from byte array of given length. <a href="#a9f74d26683d65d7af8dd323dc3c90819">More...</a><br /></td></tr>
<tr class="separator:a9f74d26683d65d7af8dd323dc3c90819"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb99ae2cbe9b56099e03a6378ebee70f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#adb99ae2cbe9b56099e03a6378ebee70f">BIG_560_58_doutput</a> (<a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x)</td></tr>
<tr class="memdesc:adb99ae2cbe9b56099e03a6378ebee70f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console. <a href="#adb99ae2cbe9b56099e03a6378ebee70f">More...</a><br /></td></tr>
<tr class="separator:adb99ae2cbe9b56099e03a6378ebee70f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a305302003fac8103f3100ac75b849d57"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a305302003fac8103f3100ac75b849d57">BIG_560_58_drawoutput</a> (<a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x)</td></tr>
<tr class="memdesc:a305302003fac8103f3100ac75b849d57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console. <a href="#a305302003fac8103f3100ac75b849d57">More...</a><br /></td></tr>
<tr class="separator:a305302003fac8103f3100ac75b849d57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6aa6922e19a22db88fa63751a060d3a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#aa6aa6922e19a22db88fa63751a060d3a">BIG_560_58_rcopy</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, const <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y)</td></tr>
<tr class="memdesc:aa6aa6922e19a22db88fa63751a060d3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG from Read-Only Memory to a BIG. <a href="#aa6aa6922e19a22db88fa63751a060d3a">More...</a><br /></td></tr>
<tr class="separator:aa6aa6922e19a22db88fa63751a060d3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c90649900404f6fcf73b6fe1a51b2bc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a3c90649900404f6fcf73b6fe1a51b2bc">BIG_560_58_copy</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y)</td></tr>
<tr class="memdesc:a3c90649900404f6fcf73b6fe1a51b2bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to another BIG. <a href="#a3c90649900404f6fcf73b6fe1a51b2bc">More...</a><br /></td></tr>
<tr class="separator:a3c90649900404f6fcf73b6fe1a51b2bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af735eb89f7a0681cedc16d9f962502da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#af735eb89f7a0681cedc16d9f962502da">BIG_560_58_dcopy</a> (<a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> y)</td></tr>
<tr class="memdesc:af735eb89f7a0681cedc16d9f962502da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy DBIG to another DBIG. <a href="#af735eb89f7a0681cedc16d9f962502da">More...</a><br /></td></tr>
<tr class="separator:af735eb89f7a0681cedc16d9f962502da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1fa05d14a19252e02c9e5c4b7956277"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#aa1fa05d14a19252e02c9e5c4b7956277">BIG_560_58_dsucopy</a> (<a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y)</td></tr>
<tr class="memdesc:aa1fa05d14a19252e02c9e5c4b7956277"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to upper half of DBIG. <a href="#aa1fa05d14a19252e02c9e5c4b7956277">More...</a><br /></td></tr>
<tr class="separator:aa1fa05d14a19252e02c9e5c4b7956277"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae007a5cf23c56bab06273525d74cb1a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#aae007a5cf23c56bab06273525d74cb1a">BIG_560_58_dscopy</a> (<a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y)</td></tr>
<tr class="memdesc:aae007a5cf23c56bab06273525d74cb1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to lower half of DBIG. <a href="#aae007a5cf23c56bab06273525d74cb1a">More...</a><br /></td></tr>
<tr class="separator:aae007a5cf23c56bab06273525d74cb1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a200f86ec088eae0041b0835f16aa8cfb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a200f86ec088eae0041b0835f16aa8cfb">BIG_560_58_sdcopy</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> y)</td></tr>
<tr class="memdesc:a200f86ec088eae0041b0835f16aa8cfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy lower half of DBIG to a BIG. <a href="#a200f86ec088eae0041b0835f16aa8cfb">More...</a><br /></td></tr>
<tr class="separator:a200f86ec088eae0041b0835f16aa8cfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d466fd2eeb278b25ac062e055647bf8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a1d466fd2eeb278b25ac062e055647bf8">BIG_560_58_sducopy</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> y)</td></tr>
<tr class="memdesc:a1d466fd2eeb278b25ac062e055647bf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy upper half of DBIG to a BIG. <a href="#a1d466fd2eeb278b25ac062e055647bf8">More...</a><br /></td></tr>
<tr class="separator:a1d466fd2eeb278b25ac062e055647bf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a263ac166e4e3b19f8dfa5e20c6f87d69"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a263ac166e4e3b19f8dfa5e20c6f87d69">BIG_560_58_zero</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x)</td></tr>
<tr class="memdesc:a263ac166e4e3b19f8dfa5e20c6f87d69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to zero. <a href="#a263ac166e4e3b19f8dfa5e20c6f87d69">More...</a><br /></td></tr>
<tr class="separator:a263ac166e4e3b19f8dfa5e20c6f87d69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a998659418b4792a702abf53d296a24eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a998659418b4792a702abf53d296a24eb">BIG_560_58_dzero</a> (<a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x)</td></tr>
<tr class="memdesc:a998659418b4792a702abf53d296a24eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to zero. <a href="#a998659418b4792a702abf53d296a24eb">More...</a><br /></td></tr>
<tr class="separator:a998659418b4792a702abf53d296a24eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac84b0a6d251784f6609f5eda9d013277"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#ac84b0a6d251784f6609f5eda9d013277">BIG_560_58_one</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x)</td></tr>
<tr class="memdesc:ac84b0a6d251784f6609f5eda9d013277"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to one (unity) <a href="#ac84b0a6d251784f6609f5eda9d013277">More...</a><br /></td></tr>
<tr class="separator:ac84b0a6d251784f6609f5eda9d013277"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5960667fcd4890b54dd19b158a7265a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#ac5960667fcd4890b54dd19b158a7265a">BIG_560_58_invmod2m</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x)</td></tr>
<tr class="memdesc:ac5960667fcd4890b54dd19b158a7265a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to inverse mod 2^256. <a href="#ac5960667fcd4890b54dd19b158a7265a">More...</a><br /></td></tr>
<tr class="separator:ac5960667fcd4890b54dd19b158a7265a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3564768f845395a6faad9c10f1d6da7c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a3564768f845395a6faad9c10f1d6da7c">BIG_560_58_add</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> z)</td></tr>
<tr class="memdesc:a3564768f845395a6faad9c10f1d6da7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to sum of two BIGs - output not normalised. <a href="#a3564768f845395a6faad9c10f1d6da7c">More...</a><br /></td></tr>
<tr class="separator:a3564768f845395a6faad9c10f1d6da7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76b213fb2e2a8c06ad0003da2310e14d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a76b213fb2e2a8c06ad0003da2310e14d">BIG_560_58_or</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> z)</td></tr>
<tr class="memdesc:a76b213fb2e2a8c06ad0003da2310e14d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to logical or of two BIGs - output normalised. <a href="#a76b213fb2e2a8c06ad0003da2310e14d">More...</a><br /></td></tr>
<tr class="separator:a76b213fb2e2a8c06ad0003da2310e14d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af00a90d21a75db5f737f513da2c59364"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#af00a90d21a75db5f737f513da2c59364">BIG_560_58_inc</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, int i)</td></tr>
<tr class="memdesc:af00a90d21a75db5f737f513da2c59364"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment BIG by a small integer - output not normalised. <a href="#af00a90d21a75db5f737f513da2c59364">More...</a><br /></td></tr>
<tr class="separator:af00a90d21a75db5f737f513da2c59364"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af91fcd4ebf013d52952b62ce4dd5bd30"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#af91fcd4ebf013d52952b62ce4dd5bd30">BIG_560_58_sub</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> z)</td></tr>
<tr class="memdesc:af91fcd4ebf013d52952b62ce4dd5bd30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to difference of two BIGs. <a href="#af91fcd4ebf013d52952b62ce4dd5bd30">More...</a><br /></td></tr>
<tr class="separator:af91fcd4ebf013d52952b62ce4dd5bd30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae559ae6b4967c1e38b53de1a25fd92dc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#ae559ae6b4967c1e38b53de1a25fd92dc">BIG_560_58_dec</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, int i)</td></tr>
<tr class="memdesc:ae559ae6b4967c1e38b53de1a25fd92dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement BIG by a small integer - output not normalised. <a href="#ae559ae6b4967c1e38b53de1a25fd92dc">More...</a><br /></td></tr>
<tr class="separator:ae559ae6b4967c1e38b53de1a25fd92dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf86eac92b5bc55666eed8a30f0a10b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#adf86eac92b5bc55666eed8a30f0a10b3">BIG_560_58_dadd</a> (<a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> y, <a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> z)</td></tr>
<tr class="memdesc:adf86eac92b5bc55666eed8a30f0a10b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to sum of two DBIGs. <a href="#adf86eac92b5bc55666eed8a30f0a10b3">More...</a><br /></td></tr>
<tr class="separator:adf86eac92b5bc55666eed8a30f0a10b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8dccbc541098a69d39c0491cccb12239"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a8dccbc541098a69d39c0491cccb12239">BIG_560_58_dsub</a> (<a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> y, <a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> z)</td></tr>
<tr class="memdesc:a8dccbc541098a69d39c0491cccb12239"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to difference of two DBIGs. <a href="#a8dccbc541098a69d39c0491cccb12239">More...</a><br /></td></tr>
<tr class="separator:a8dccbc541098a69d39c0491cccb12239"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f84bbe855c1c3f4018db855ea8c3321"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a4f84bbe855c1c3f4018db855ea8c3321">BIG_560_58_imul</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y, int i)</td></tr>
<tr class="memdesc:a4f84bbe855c1c3f4018db855ea8c3321"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by a small integer - output not normalised. <a href="#a4f84bbe855c1c3f4018db855ea8c3321">More...</a><br /></td></tr>
<tr class="separator:a4f84bbe855c1c3f4018db855ea8c3321"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adff57b962d7eef6c5e89430f62bf8516"><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__560__58_8h.html#adff57b962d7eef6c5e89430f62bf8516">BIG_560_58_pmul</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y, int i)</td></tr>
<tr class="memdesc:adff57b962d7eef6c5e89430f62bf8516"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by not-so-small small integer - output normalised. <a href="#adff57b962d7eef6c5e89430f62bf8516">More...</a><br /></td></tr>
<tr class="separator:adff57b962d7eef6c5e89430f62bf8516"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abce845d9bf973ce0068f943401a7abaf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#abce845d9bf973ce0068f943401a7abaf">BIG_560_58_div3</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x)</td></tr>
<tr class="memdesc:abce845d9bf973ce0068f943401a7abaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide BIG by 3 - output normalised. <a href="#abce845d9bf973ce0068f943401a7abaf">More...</a><br /></td></tr>
<tr class="separator:abce845d9bf973ce0068f943401a7abaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8906d5fc3a7bf5b0a70128a50cb0590b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a8906d5fc3a7bf5b0a70128a50cb0590b">BIG_560_58_pxmul</a> (<a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y, int i)</td></tr>
<tr class="memdesc:a8906d5fc3a7bf5b0a70128a50cb0590b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised. <a href="#a8906d5fc3a7bf5b0a70128a50cb0590b">More...</a><br /></td></tr>
<tr class="separator:a8906d5fc3a7bf5b0a70128a50cb0590b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64a04356cf44a2c66c10b348aaed5b87"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a64a04356cf44a2c66c10b348aaed5b87">BIG_560_58_mul</a> (<a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> z)</td></tr>
<tr class="memdesc:a64a04356cf44a2c66c10b348aaed5b87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised. <a href="#a64a04356cf44a2c66c10b348aaed5b87">More...</a><br /></td></tr>
<tr class="separator:a64a04356cf44a2c66c10b348aaed5b87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9f99263e174f4909b7f75c52717a888"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#aa9f99263e174f4909b7f75c52717a888">BIG_560_58_smul</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> z)</td></tr>
<tr class="memdesc:aa9f99263e174f4909b7f75c52717a888"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised. <a href="#aa9f99263e174f4909b7f75c52717a888">More...</a><br /></td></tr>
<tr class="separator:aa9f99263e174f4909b7f75c52717a888"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad12c1c9fba1ab705ad97810b7f57b97e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#ad12c1c9fba1ab705ad97810b7f57b97e">BIG_560_58_sqr</a> (<a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y)</td></tr>
<tr class="memdesc:ad12c1c9fba1ab705ad97810b7f57b97e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square BIG resulting in a DBIG - input normalised and output normalised. <a href="#ad12c1c9fba1ab705ad97810b7f57b97e">More...</a><br /></td></tr>
<tr class="separator:ad12c1c9fba1ab705ad97810b7f57b97e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b4a92279b44fd898838b6a6b7e04300"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a2b4a92279b44fd898838b6a6b7e04300">BIG_560_58_monty</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> a, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> md, <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC, <a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> d)</td></tr>
<tr class="memdesc:a2b4a92279b44fd898838b6a6b7e04300"><td class="mdescLeft">&#160;</td><td class="mdescRight">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised. <a href="#a2b4a92279b44fd898838b6a6b7e04300">More...</a><br /></td></tr>
<tr class="separator:a2b4a92279b44fd898838b6a6b7e04300"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9345da16be6045bbe81295fbd6d9806"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#ad9345da16be6045bbe81295fbd6d9806">BIG_560_58_shl</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, int s)</td></tr>
<tr class="memdesc:ad9345da16be6045bbe81295fbd6d9806"><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="#ad9345da16be6045bbe81295fbd6d9806">More...</a><br /></td></tr>
<tr class="separator:ad9345da16be6045bbe81295fbd6d9806"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a933ed83afd555ce1d30465f6b87f1fb4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a933ed83afd555ce1d30465f6b87f1fb4">BIG_560_58_fshl</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, int s)</td></tr>
<tr class="memdesc:a933ed83afd555ce1d30465f6b87f1fb4"><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="#a933ed83afd555ce1d30465f6b87f1fb4">More...</a><br /></td></tr>
<tr class="separator:a933ed83afd555ce1d30465f6b87f1fb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bc2d0fbf5a95bc23e060d9306f8234c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a7bc2d0fbf5a95bc23e060d9306f8234c">BIG_560_58_dshl</a> (<a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x, int s)</td></tr>
<tr class="memdesc:a7bc2d0fbf5a95bc23e060d9306f8234c"><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="#a7bc2d0fbf5a95bc23e060d9306f8234c">More...</a><br /></td></tr>
<tr class="separator:a7bc2d0fbf5a95bc23e060d9306f8234c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a051205c28cde3b590f43f8b465885d6b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a051205c28cde3b590f43f8b465885d6b">BIG_560_58_shr</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, int s)</td></tr>
<tr class="memdesc:a051205c28cde3b590f43f8b465885d6b"><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="#a051205c28cde3b590f43f8b465885d6b">More...</a><br /></td></tr>
<tr class="separator:a051205c28cde3b590f43f8b465885d6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e315218912e4243b5550eb93b6874d9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a6e315218912e4243b5550eb93b6874d9">BIG_560_58_ssn</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> r, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> a, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> m)</td></tr>
<tr class="memdesc:a6e315218912e4243b5550eb93b6874d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast time-critical combined shift by 1 bit, subtract and normalise. <a href="#a6e315218912e4243b5550eb93b6874d9">More...</a><br /></td></tr>
<tr class="separator:a6e315218912e4243b5550eb93b6874d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70dfa08b161ea2ee689a1dde4e1a8d6d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a70dfa08b161ea2ee689a1dde4e1a8d6d">BIG_560_58_fshr</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, int s)</td></tr>
<tr class="memdesc:a70dfa08b161ea2ee689a1dde4e1a8d6d"><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="#a70dfa08b161ea2ee689a1dde4e1a8d6d">More...</a><br /></td></tr>
<tr class="separator:a70dfa08b161ea2ee689a1dde4e1a8d6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cf86432e2923b856c3821477b6a4640"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a4cf86432e2923b856c3821477b6a4640">BIG_560_58_dshr</a> (<a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x, int s)</td></tr>
<tr class="memdesc:a4cf86432e2923b856c3821477b6a4640"><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="#a4cf86432e2923b856c3821477b6a4640">More...</a><br /></td></tr>
<tr class="separator:a4cf86432e2923b856c3821477b6a4640"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd3dcce58ffed1b0772b0b074eb42138"><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__560__58_8h.html#afd3dcce58ffed1b0772b0b074eb42138">BIG_560_58_split</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y, <a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> z, int s)</td></tr>
<tr class="memdesc:afd3dcce58ffed1b0772b0b074eb42138"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a DBIG into two BIGs - input must be normalised, outputs normalised. <a href="#afd3dcce58ffed1b0772b0b074eb42138">More...</a><br /></td></tr>
<tr class="separator:afd3dcce58ffed1b0772b0b074eb42138"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a713011b18ea63ca7a86b50a9de165a80"><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__560__58_8h.html#a713011b18ea63ca7a86b50a9de165a80">BIG_560_58_norm</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x)</td></tr>
<tr class="memdesc:a713011b18ea63ca7a86b50a9de165a80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a BIG number - output normalised. <a href="#a713011b18ea63ca7a86b50a9de165a80">More...</a><br /></td></tr>
<tr class="separator:a713011b18ea63ca7a86b50a9de165a80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac557e6c093c2ea60098d199e9715d06e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#ac557e6c093c2ea60098d199e9715d06e">BIG_560_58_dnorm</a> (<a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x)</td></tr>
<tr class="memdesc:ac557e6c093c2ea60098d199e9715d06e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a DBIG number - output normalised. <a href="#ac557e6c093c2ea60098d199e9715d06e">More...</a><br /></td></tr>
<tr class="separator:ac557e6c093c2ea60098d199e9715d06e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9a7199fc40677565a4967d0980fe545"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#ae9a7199fc40677565a4967d0980fe545">BIG_560_58_comp</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y)</td></tr>
<tr class="memdesc:ae9a7199fc40677565a4967d0980fe545"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two BIG numbers. Inputs must be normalised externally. <a href="#ae9a7199fc40677565a4967d0980fe545">More...</a><br /></td></tr>
<tr class="separator:ae9a7199fc40677565a4967d0980fe545"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56f827f747af461e70452cb36e1aa0ce"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a56f827f747af461e70452cb36e1aa0ce">BIG_560_58_dcomp</a> (<a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> y)</td></tr>
<tr class="memdesc:a56f827f747af461e70452cb36e1aa0ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two DBIG numbers. Inputs must be normalised externally. <a href="#a56f827f747af461e70452cb36e1aa0ce">More...</a><br /></td></tr>
<tr class="separator:a56f827f747af461e70452cb36e1aa0ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a478dc0d290d7c9c8370735269745c333"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a478dc0d290d7c9c8370735269745c333">BIG_560_58_nbits</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x)</td></tr>
<tr class="memdesc:a478dc0d290d7c9c8370735269745c333"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a BIG - output normalised. <a href="#a478dc0d290d7c9c8370735269745c333">More...</a><br /></td></tr>
<tr class="separator:a478dc0d290d7c9c8370735269745c333"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ea08f6240e96a6da251c1054efba14f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a7ea08f6240e96a6da251c1054efba14f">BIG_560_58_dnbits</a> (<a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x)</td></tr>
<tr class="memdesc:a7ea08f6240e96a6da251c1054efba14f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a DBIG - output normalised. <a href="#a7ea08f6240e96a6da251c1054efba14f">More...</a><br /></td></tr>
<tr class="separator:a7ea08f6240e96a6da251c1054efba14f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae804952790a941b0611bac26460388f2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#ae804952790a941b0611bac26460388f2">BIG_560_58_mod</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> n)</td></tr>
<tr class="memdesc:ae804952790a941b0611bac26460388f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce x mod n - input and output normalised. <a href="#ae804952790a941b0611bac26460388f2">More...</a><br /></td></tr>
<tr class="separator:ae804952790a941b0611bac26460388f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aade2836460fa312f93c24151bd98c241"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#aade2836460fa312f93c24151bd98c241">BIG_560_58_sdiv</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> n)</td></tr>
<tr class="memdesc:aade2836460fa312f93c24151bd98c241"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide x by n - output normalised. <a href="#aade2836460fa312f93c24151bd98c241">More...</a><br /></td></tr>
<tr class="separator:aade2836460fa312f93c24151bd98c241"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00d4d79660dd6eff3d1777c20fa29f8a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a00d4d79660dd6eff3d1777c20fa29f8a">BIG_560_58_dmod</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> y, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> n)</td></tr>
<tr class="memdesc:a00d4d79660dd6eff3d1777c20fa29f8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y mod n - output normalised <a href="#a00d4d79660dd6eff3d1777c20fa29f8a">More...</a><br /></td></tr>
<tr class="separator:a00d4d79660dd6eff3d1777c20fa29f8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e47e47ed1c5141fec0eeeb5e0328923"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a5e47e47ed1c5141fec0eeeb5e0328923">BIG_560_58_ddiv</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> y, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> n)</td></tr>
<tr class="memdesc:a5e47e47ed1c5141fec0eeeb5e0328923"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y/n - output normalised <a href="#a5e47e47ed1c5141fec0eeeb5e0328923">More...</a><br /></td></tr>
<tr class="separator:a5e47e47ed1c5141fec0eeeb5e0328923"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac49b7db6b2163e66bd5f1676bf753814"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#ac49b7db6b2163e66bd5f1676bf753814">BIG_560_58_parity</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x)</td></tr>
<tr class="memdesc:ac49b7db6b2163e66bd5f1676bf753814"><td class="mdescLeft">&#160;</td><td class="mdescRight">return parity of BIG, that is the least significant bit <a href="#ac49b7db6b2163e66bd5f1676bf753814">More...</a><br /></td></tr>
<tr class="separator:ac49b7db6b2163e66bd5f1676bf753814"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41470dde5776a65bfd2aabc1b9feb19e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a41470dde5776a65bfd2aabc1b9feb19e">BIG_560_58_bit</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, int i)</td></tr>
<tr class="memdesc:a41470dde5776a65bfd2aabc1b9feb19e"><td class="mdescLeft">&#160;</td><td class="mdescRight">return i-th of BIG <a href="#a41470dde5776a65bfd2aabc1b9feb19e">More...</a><br /></td></tr>
<tr class="separator:a41470dde5776a65bfd2aabc1b9feb19e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cc773b3cd0ff6d7f17848a5721b883b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a1cc773b3cd0ff6d7f17848a5721b883b">BIG_560_58_lastbits</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, int n)</td></tr>
<tr class="memdesc:a1cc773b3cd0ff6d7f17848a5721b883b"><td class="mdescLeft">&#160;</td><td class="mdescRight">return least significant bits of a BIG <a href="#a1cc773b3cd0ff6d7f17848a5721b883b">More...</a><br /></td></tr>
<tr class="separator:a1cc773b3cd0ff6d7f17848a5721b883b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa5d87f2ab38db41181ed2713dcc0c19"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#aaa5d87f2ab38db41181ed2713dcc0c19">BIG_560_58_random</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
<tr class="memdesc:aaa5d87f2ab38db41181ed2713dcc0c19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random BIG from a random number generator. <a href="#aaa5d87f2ab38db41181ed2713dcc0c19">More...</a><br /></td></tr>
<tr class="separator:aaa5d87f2ab38db41181ed2713dcc0c19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e46780bbde49568e3be57ca115cacf6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a1e46780bbde49568e3be57ca115cacf6">BIG_560_58_randomnum</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> n, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
<tr class="memdesc:a1e46780bbde49568e3be57ca115cacf6"><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="#a1e46780bbde49568e3be57ca115cacf6">More...</a><br /></td></tr>
<tr class="separator:a1e46780bbde49568e3be57ca115cacf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ccc9500cf4a72ccb9c407bb1f4212a8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a1ccc9500cf4a72ccb9c407bb1f4212a8">BIG_560_58_modmul</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> z, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> n)</td></tr>
<tr class="memdesc:a1ccc9500cf4a72ccb9c407bb1f4212a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y*z mod n. <a href="#a1ccc9500cf4a72ccb9c407bb1f4212a8">More...</a><br /></td></tr>
<tr class="separator:a1ccc9500cf4a72ccb9c407bb1f4212a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0a7123ca1210035a529f966774ac26c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#aa0a7123ca1210035a529f966774ac26c">BIG_560_58_moddiv</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> z, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> n)</td></tr>
<tr class="memdesc:aa0a7123ca1210035a529f966774ac26c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y/z mod n. <a href="#aa0a7123ca1210035a529f966774ac26c">More...</a><br /></td></tr>
<tr class="separator:aa0a7123ca1210035a529f966774ac26c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c0d2c270a09895b92477ea368758323"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a8c0d2c270a09895b92477ea368758323">BIG_560_58_modsqr</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> n)</td></tr>
<tr class="memdesc:a8c0d2c270a09895b92477ea368758323"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y^2 mod n. <a href="#a8c0d2c270a09895b92477ea368758323">More...</a><br /></td></tr>
<tr class="separator:a8c0d2c270a09895b92477ea368758323"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b47a97c37d9a9680a01349343e06a3e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a3b47a97c37d9a9680a01349343e06a3e">BIG_560_58_modneg</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> n)</td></tr>
<tr class="memdesc:a3b47a97c37d9a9680a01349343e06a3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=-y mod n. <a href="#a3b47a97c37d9a9680a01349343e06a3e">More...</a><br /></td></tr>
<tr class="separator:a3b47a97c37d9a9680a01349343e06a3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65387c59551469f472e4d0e486bd7291"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a65387c59551469f472e4d0e486bd7291">BIG_560_58_jacobi</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y)</td></tr>
<tr class="memdesc:a65387c59551469f472e4d0e486bd7291"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate jacobi Symbol (x/y) <a href="#a65387c59551469f472e4d0e486bd7291">More...</a><br /></td></tr>
<tr class="separator:a65387c59551469f472e4d0e486bd7291"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15ca0de7d97b9ca788e3ab3686d6b723"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a15ca0de7d97b9ca788e3ab3686d6b723">BIG_560_58_invmodp</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y, <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> n)</td></tr>
<tr class="memdesc:a15ca0de7d97b9ca788e3ab3686d6b723"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=1/y mod n. <a href="#a15ca0de7d97b9ca788e3ab3686d6b723">More...</a><br /></td></tr>
<tr class="separator:a15ca0de7d97b9ca788e3ab3686d6b723"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9e04e6bc32701da6e9f963924d1763a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#ac9e04e6bc32701da6e9f963924d1763a">BIG_560_58_mod2m</a> (<a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x, int m)</td></tr>
<tr class="memdesc:ac9e04e6bc32701da6e9f963924d1763a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m. <a href="#ac9e04e6bc32701da6e9f963924d1763a">More...</a><br /></td></tr>
<tr class="separator:ac9e04e6bc32701da6e9f963924d1763a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b800e8588400c4a30ab98f9fe988773"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html#a5b800e8588400c4a30ab98f9fe988773">BIG_560_58_dmod2m</a> (<a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x, int m)</td></tr>
<tr class="memdesc:a5b800e8588400c4a30ab98f9fe988773"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m. <a href="#a5b800e8588400c4a30ab98f9fe988773">More...</a><br /></td></tr>
<tr class="separator:a5b800e8588400c4a30ab98f9fe988773"><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="a485d9ac4165cf3e0b0d471a21c161a89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a485d9ac4165cf3e0b0d471a21c161a89">&#9670;&nbsp;</a></span>BIGBITS_560_58</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BIGBITS_560_58&#160;&#160;&#160;(8*<a class="el" href="config__big__560__58_8h.html#a13505faed4d03b9091b1e8968c008429">MODBYTES_560_58</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Length in bits </p>
</div>
</div>
<a id="a0b0bb0ce0733fde1ea231aa142174663"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b0bb0ce0733fde1ea231aa142174663">&#9670;&nbsp;</a></span>BMASK_560_58</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BMASK_560_58&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__560__58_8h.html#a8e3d43eb3ac0cf5e5f06c1027dba473f">BASEBITS_560_58</a>)-1)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Mask = 2^BASEBITS-1 </p>
</div>
</div>
<a id="a9e0a681bf3c4742d517900811692a532"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e0a681bf3c4742d517900811692a532">&#9670;&nbsp;</a></span>DNLEN_560_58</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DNLEN_560_58&#160;&#160;&#160;2*<a class="el" href="big__560__58_8h.html#aba99b483d420773b764f0d8c5fb65415">NLEN_560_58</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Double length in bytes </p>
</div>
</div>
<a id="abadea7c002ee7151ce2d51a9e5371cd4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abadea7c002ee7151ce2d51a9e5371cd4">&#9670;&nbsp;</a></span>HBITS_560_58</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HBITS_560_58&#160;&#160;&#160;(<a class="el" href="config__big__560__58_8h.html#a8e3d43eb3ac0cf5e5f06c1027dba473f">BASEBITS_560_58</a>/2)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of bits in number base divided by 2 </p>
</div>
</div>
<a id="a78f794282590bebb05b1e746d0b907e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78f794282590bebb05b1e746d0b907e2">&#9670;&nbsp;</a></span>HMASK_560_58</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HMASK_560_58&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__560__58_8h.html#abadea7c002ee7151ce2d51a9e5371cd4">HBITS_560_58</a>)-1)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Mask = 2^HBITS-1 </p>
</div>
</div>
<a id="a8c82fbf779b6b62aef7e61f30b6b59e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c82fbf779b6b62aef7e61f30b6b59e5">&#9670;&nbsp;</a></span>NEXCESS_560_58</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define NEXCESS_560_58&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__560__58_8h.html#a8e3d43eb3ac0cf5e5f06c1027dba473f">BASEBITS_560_58</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="aba99b483d420773b764f0d8c5fb65415"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba99b483d420773b764f0d8c5fb65415">&#9670;&nbsp;</a></span>NLEN_560_58</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define NLEN_560_58&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__560__58_8h.html#a13505faed4d03b9091b1e8968c008429">MODBYTES_560_58</a>-1)/<a class="el" href="config__big__560__58_8h.html#a8e3d43eb3ac0cf5e5f06c1027dba473f">BASEBITS_560_58</a>))</td>
</tr>
</table>
</div><div class="memdoc">
<p>length in bytes </p>
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a6149450df1017dc5c4ef9e54fad78b30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6149450df1017dc5c4ef9e54fad78b30">&#9670;&nbsp;</a></span>BIG_560_58</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_560_58[<a class="el" href="big__560__58_8h.html#aba99b483d420773b764f0d8c5fb65415">NLEN_560_58</a>]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Define type BIG as array of chunks </p>
</div>
</div>
<a id="aa190c896863df8c0bfbe5b7421ed94f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa190c896863df8c0bfbe5b7421ed94f2">&#9670;&nbsp;</a></span>DBIG_560_58</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_560_58[<a class="el" href="big__560__58_8h.html#a9e0a681bf3c4742d517900811692a532">DNLEN_560_58</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="a3564768f845395a6faad9c10f1d6da7c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3564768f845395a6faad9c10f1d6da7c">&#9670;&nbsp;</a></span>BIG_560_58_add()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_add </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a41470dde5776a65bfd2aabc1b9feb19e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a41470dde5776a65bfd2aabc1b9feb19e">&#9670;&nbsp;</a></span>BIG_560_58_bit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_560_58_bit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a2719180589480b71f07fa913faaba4cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2719180589480b71f07fa913faaba4cf">&#9670;&nbsp;</a></span>BIG_560_58_cmove()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_cmove </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="ae9a7199fc40677565a4967d0980fe545"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9a7199fc40677565a4967d0980fe545">&#9670;&nbsp;</a></span>BIG_560_58_comp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_560_58_comp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a3c90649900404f6fcf73b6fe1a51b2bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c90649900404f6fcf73b6fe1a51b2bc">&#9670;&nbsp;</a></span>BIG_560_58_copy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_copy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="afc6c3f005628330af453f7a6de911455"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc6c3f005628330af453f7a6de911455">&#9670;&nbsp;</a></span>BIG_560_58_cswap()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_cswap </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="adf86eac92b5bc55666eed8a30f0a10b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf86eac92b5bc55666eed8a30f0a10b3">&#9670;&nbsp;</a></span>BIG_560_58_dadd()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_dadd </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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="a8e8a48d59f31233e070c5aecfd6071df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e8a48d59f31233e070c5aecfd6071df">&#9670;&nbsp;</a></span>BIG_560_58_dcmove()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_dcmove </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a56f827f747af461e70452cb36e1aa0ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56f827f747af461e70452cb36e1aa0ce">&#9670;&nbsp;</a></span>BIG_560_58_dcomp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_560_58_dcomp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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="af735eb89f7a0681cedc16d9f962502da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af735eb89f7a0681cedc16d9f962502da">&#9670;&nbsp;</a></span>BIG_560_58_dcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_dcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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="a5e47e47ed1c5141fec0eeeb5e0328923"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e47e47ed1c5141fec0eeeb5e0328923">&#9670;&nbsp;</a></span>BIG_560_58_ddiv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_ddiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="ae559ae6b4967c1e38b53de1a25fd92dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae559ae6b4967c1e38b53de1a25fd92dc">&#9670;&nbsp;</a></span>BIG_560_58_dec()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_dec </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a9f74d26683d65d7af8dd323dc3c90819"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f74d26683d65d7af8dd323dc3c90819">&#9670;&nbsp;</a></span>BIG_560_58_dfromBytesLen()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_dfromBytesLen </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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="a30b28ced4ed7d6181913af8002f521e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30b28ced4ed7d6181913af8002f521e0">&#9670;&nbsp;</a></span>BIG_560_58_diszilch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_560_58_diszilch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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="abce845d9bf973ce0068f943401a7abaf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abce845d9bf973ce0068f943401a7abaf">&#9670;&nbsp;</a></span>BIG_560_58_div3()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_560_58_div3 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a00d4d79660dd6eff3d1777c20fa29f8a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00d4d79660dd6eff3d1777c20fa29f8a">&#9670;&nbsp;</a></span>BIG_560_58_dmod()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_dmod </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a5b800e8588400c4a30ab98f9fe988773"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b800e8588400c4a30ab98f9fe988773">&#9670;&nbsp;</a></span>BIG_560_58_dmod2m()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_dmod2m </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>m</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Truncation </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number, on reduced mod 2^m </td></tr>
<tr><td class="paramname">m</td><td>new truncated size </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7ea08f6240e96a6da251c1054efba14f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ea08f6240e96a6da251c1054efba14f">&#9670;&nbsp;</a></span>BIG_560_58_dnbits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_560_58_dnbits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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="ac557e6c093c2ea60098d199e9715d06e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac557e6c093c2ea60098d199e9715d06e">&#9670;&nbsp;</a></span>BIG_560_58_dnorm()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_dnorm </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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="adb99ae2cbe9b56099e03a6378ebee70f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb99ae2cbe9b56099e03a6378ebee70f">&#9670;&nbsp;</a></span>BIG_560_58_doutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_doutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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="a305302003fac8103f3100ac75b849d57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a305302003fac8103f3100ac75b849d57">&#9670;&nbsp;</a></span>BIG_560_58_drawoutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_drawoutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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="aae007a5cf23c56bab06273525d74cb1a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae007a5cf23c56bab06273525d74cb1a">&#9670;&nbsp;</a></span>BIG_560_58_dscopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_dscopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a7bc2d0fbf5a95bc23e060d9306f8234c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7bc2d0fbf5a95bc23e060d9306f8234c">&#9670;&nbsp;</a></span>BIG_560_58_dshl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_dshl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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="a4cf86432e2923b856c3821477b6a4640"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4cf86432e2923b856c3821477b6a4640">&#9670;&nbsp;</a></span>BIG_560_58_dshr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_dshr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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="a8dccbc541098a69d39c0491cccb12239"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8dccbc541098a69d39c0491cccb12239">&#9670;&nbsp;</a></span>BIG_560_58_dsub()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_dsub </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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="aa1fa05d14a19252e02c9e5c4b7956277"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1fa05d14a19252e02c9e5c4b7956277">&#9670;&nbsp;</a></span>BIG_560_58_dsucopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_dsucopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a998659418b4792a702abf53d296a24eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a998659418b4792a702abf53d296a24eb">&#9670;&nbsp;</a></span>BIG_560_58_dzero()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_dzero </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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="a8ccda9b0667e1e45fbe339fce171d623"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ccda9b0667e1e45fbe339fce171d623">&#9670;&nbsp;</a></span>BIG_560_58_fromBytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_fromBytes </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a1712ce09846955ed495dfa84d9bba13a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1712ce09846955ed495dfa84d9bba13a">&#9670;&nbsp;</a></span>BIG_560_58_fromBytesLen()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_fromBytesLen </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a933ed83afd555ce1d30465f6b87f1fb4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a933ed83afd555ce1d30465f6b87f1fb4">&#9670;&nbsp;</a></span>BIG_560_58_fshl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_560_58_fshl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a70dfa08b161ea2ee689a1dde4e1a8d6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70dfa08b161ea2ee689a1dde4e1a8d6d">&#9670;&nbsp;</a></span>BIG_560_58_fshr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_560_58_fshr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a4f84bbe855c1c3f4018db855ea8c3321"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f84bbe855c1c3f4018db855ea8c3321">&#9670;&nbsp;</a></span>BIG_560_58_imul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_imul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="af00a90d21a75db5f737f513da2c59364"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af00a90d21a75db5f737f513da2c59364">&#9670;&nbsp;</a></span>BIG_560_58_inc()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_inc </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="ac5960667fcd4890b54dd19b158a7265a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5960667fcd4890b54dd19b158a7265a">&#9670;&nbsp;</a></span>BIG_560_58_invmod2m()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_invmod2m </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a15ca0de7d97b9ca788e3ab3686d6b723"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15ca0de7d97b9ca788e3ab3686d6b723">&#9670;&nbsp;</a></span>BIG_560_58_invmodp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_invmodp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a02b88360183b0b0286799b49f6eea012"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a02b88360183b0b0286799b49f6eea012">&#9670;&nbsp;</a></span>BIG_560_58_isunity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_560_58_isunity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a2916cb489d9285e99bbcf90d357c3099"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2916cb489d9285e99bbcf90d357c3099">&#9670;&nbsp;</a></span>BIG_560_58_iszilch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_560_58_iszilch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a65387c59551469f472e4d0e486bd7291"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65387c59551469f472e4d0e486bd7291">&#9670;&nbsp;</a></span>BIG_560_58_jacobi()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_560_58_jacobi </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a1cc773b3cd0ff6d7f17848a5721b883b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1cc773b3cd0ff6d7f17848a5721b883b">&#9670;&nbsp;</a></span>BIG_560_58_lastbits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_560_58_lastbits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="ae804952790a941b0611bac26460388f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae804952790a941b0611bac26460388f2">&#9670;&nbsp;</a></span>BIG_560_58_mod()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_mod </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="ac9e04e6bc32701da6e9f963924d1763a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9e04e6bc32701da6e9f963924d1763a">&#9670;&nbsp;</a></span>BIG_560_58_mod2m()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_mod2m </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>m</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Truncation </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on reduced mod 2^m </td></tr>
<tr><td class="paramname">m</td><td>new truncated size </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa0a7123ca1210035a529f966774ac26c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0a7123ca1210035a529f966774ac26c">&#9670;&nbsp;</a></span>BIG_560_58_moddiv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_moddiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a1ccc9500cf4a72ccb9c407bb1f4212a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ccc9500cf4a72ccb9c407bb1f4212a8">&#9670;&nbsp;</a></span>BIG_560_58_modmul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_modmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a3b47a97c37d9a9680a01349343e06a3e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b47a97c37d9a9680a01349343e06a3e">&#9670;&nbsp;</a></span>BIG_560_58_modneg()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_modneg </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a8c0d2c270a09895b92477ea368758323"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c0d2c270a09895b92477ea368758323">&#9670;&nbsp;</a></span>BIG_560_58_modsqr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_modsqr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a2b4a92279b44fd898838b6a6b7e04300"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b4a92279b44fd898838b6a6b7e04300">&#9670;&nbsp;</a></span>BIG_560_58_monty()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_monty </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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="a64a04356cf44a2c66c10b348aaed5b87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64a04356cf44a2c66c10b348aaed5b87">&#9670;&nbsp;</a></span>BIG_560_58_mul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_mul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a478dc0d290d7c9c8370735269745c333"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a478dc0d290d7c9c8370735269745c333">&#9670;&nbsp;</a></span>BIG_560_58_nbits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_560_58_nbits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a713011b18ea63ca7a86b50a9de165a80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a713011b18ea63ca7a86b50a9de165a80">&#9670;&nbsp;</a></span>BIG_560_58_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_560_58_norm </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="ac84b0a6d251784f6609f5eda9d013277"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac84b0a6d251784f6609f5eda9d013277">&#9670;&nbsp;</a></span>BIG_560_58_one()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_one </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a76b213fb2e2a8c06ad0003da2310e14d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76b213fb2e2a8c06ad0003da2310e14d">&#9670;&nbsp;</a></span>BIG_560_58_or()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_or </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a9c05c6d233b0a74c879a6075fc0b1a95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c05c6d233b0a74c879a6075fc0b1a95">&#9670;&nbsp;</a></span>BIG_560_58_output()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_output </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="ac49b7db6b2163e66bd5f1676bf753814"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac49b7db6b2163e66bd5f1676bf753814">&#9670;&nbsp;</a></span>BIG_560_58_parity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_560_58_parity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="adff57b962d7eef6c5e89430f62bf8516"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adff57b962d7eef6c5e89430f62bf8516">&#9670;&nbsp;</a></span>BIG_560_58_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_560_58_pmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a8906d5fc3a7bf5b0a70128a50cb0590b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8906d5fc3a7bf5b0a70128a50cb0590b">&#9670;&nbsp;</a></span>BIG_560_58_pxmul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_pxmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="aaa5d87f2ab38db41181ed2713dcc0c19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa5d87f2ab38db41181ed2713dcc0c19">&#9670;&nbsp;</a></span>BIG_560_58_random()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_random </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a1e46780bbde49568e3be57ca115cacf6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e46780bbde49568e3be57ca115cacf6">&#9670;&nbsp;</a></span>BIG_560_58_randomnum()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_randomnum </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a923c4866689e2c2d4c4f6fea450c7494"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a923c4866689e2c2d4c4f6fea450c7494">&#9670;&nbsp;</a></span>BIG_560_58_rawoutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_rawoutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="aa6aa6922e19a22db88fa63751a060d3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6aa6922e19a22db88fa63751a060d3a">&#9670;&nbsp;</a></span>BIG_560_58_rcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_rcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a200f86ec088eae0041b0835f16aa8cfb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a200f86ec088eae0041b0835f16aa8cfb">&#9670;&nbsp;</a></span>BIG_560_58_sdcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_sdcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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="aade2836460fa312f93c24151bd98c241"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aade2836460fa312f93c24151bd98c241">&#9670;&nbsp;</a></span>BIG_560_58_sdiv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_sdiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a1d466fd2eeb278b25ac062e055647bf8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d466fd2eeb278b25ac062e055647bf8">&#9670;&nbsp;</a></span>BIG_560_58_sducopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_sducopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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="ad9345da16be6045bbe81295fbd6d9806"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9345da16be6045bbe81295fbd6d9806">&#9670;&nbsp;</a></span>BIG_560_58_shl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_shl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a051205c28cde3b590f43f8b465885d6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a051205c28cde3b590f43f8b465885d6b">&#9670;&nbsp;</a></span>BIG_560_58_shr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_shr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="aa9f99263e174f4909b7f75c52717a888"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9f99263e174f4909b7f75c52717a888">&#9670;&nbsp;</a></span>BIG_560_58_smul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_smul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="afd3dcce58ffed1b0772b0b074eb42138"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd3dcce58ffed1b0772b0b074eb42138">&#9670;&nbsp;</a></span>BIG_560_58_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_560_58_split </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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="ad12c1c9fba1ab705ad97810b7f57b97e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad12c1c9fba1ab705ad97810b7f57b97e">&#9670;&nbsp;</a></span>BIG_560_58_sqr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_sqr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a6e315218912e4243b5550eb93b6874d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e315218912e4243b5550eb93b6874d9">&#9670;&nbsp;</a></span>BIG_560_58_ssn()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_560_58_ssn </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="af91fcd4ebf013d52952b62ce4dd5bd30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af91fcd4ebf013d52952b62ce4dd5bd30">&#9670;&nbsp;</a></span>BIG_560_58_sub()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_sub </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="aab3994b47d2707e5a9cabf1169e10064"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab3994b47d2707e5a9cabf1169e10064">&#9670;&nbsp;</a></span>BIG_560_58_toBytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</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="a263ac166e4e3b19f8dfa5e20c6f87d69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a263ac166e4e3b19f8dfa5e20c6f87d69">&#9670;&nbsp;</a></span>BIG_560_58_zero()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_560_58_zero </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be set to zero </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>