blob: 72484be988e3297387626df9215ad9f8cb4e43af [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_512_56.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">AMCL
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_df7310d1a865926cc859bcfb1880083f.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">big_512_56.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>BIG Header File.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br />
<code>#include &lt;stdlib.h&gt;</code><br />
<code>#include &lt;inttypes.h&gt;</code><br />
<code>#include &quot;<a class="el" href="arch_8h_source.html">arch.h</a>&quot;</code><br />
<code>#include &quot;amcl.h&quot;</code><br />
<code>#include &quot;<a class="el" href="config__big__512__56_8h_source.html">config_big_512_56.h</a>&quot;</code><br />
</div>
<p><a href="big__512__56_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a0db657df710516e21bc7c3a30ebaca9c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a0db657df710516e21bc7c3a30ebaca9c">BIGBITS_512_56</a>&#160;&#160;&#160;(8*<a class="el" href="config__big__512__56_8h.html#ad0955750f1206f810e2a885e43899861">MODBYTES_512_56</a>)</td></tr>
<tr class="separator:a0db657df710516e21bc7c3a30ebaca9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62887b2a1152aaceaf6275b69d324441"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a62887b2a1152aaceaf6275b69d324441">NLEN_512_56</a>&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__512__56_8h.html#ad0955750f1206f810e2a885e43899861">MODBYTES_512_56</a>-1)/<a class="el" href="config__big__512__56_8h.html#ae055399023f68da19be8040f6394efe3">BASEBITS_512_56</a>))</td></tr>
<tr class="separator:a62887b2a1152aaceaf6275b69d324441"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcfbd331761b81491b0ad27bec046f5b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#afcfbd331761b81491b0ad27bec046f5b">DNLEN_512_56</a>&#160;&#160;&#160;2*<a class="el" href="big__512__56_8h.html#a62887b2a1152aaceaf6275b69d324441">NLEN_512_56</a></td></tr>
<tr class="separator:afcfbd331761b81491b0ad27bec046f5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60de6314c192035ae1f8dc53e4e1d2e5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a60de6314c192035ae1f8dc53e4e1d2e5">BMASK_512_56</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__512__56_8h.html#ae055399023f68da19be8040f6394efe3">BASEBITS_512_56</a>)-1)</td></tr>
<tr class="separator:a60de6314c192035ae1f8dc53e4e1d2e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04df0e72fd01b043bc75136f55dddefa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a04df0e72fd01b043bc75136f55dddefa">NEXCESS_512_56</a>&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__512__56_8h.html#ae055399023f68da19be8040f6394efe3">BASEBITS_512_56</a>-1))</td></tr>
<tr class="separator:a04df0e72fd01b043bc75136f55dddefa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ab556dadf30933bc45dd0d3f59ba962"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a7ab556dadf30933bc45dd0d3f59ba962">HBITS_512_56</a>&#160;&#160;&#160;(<a class="el" href="config__big__512__56_8h.html#ae055399023f68da19be8040f6394efe3">BASEBITS_512_56</a>/2)</td></tr>
<tr class="separator:a7ab556dadf30933bc45dd0d3f59ba962"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8029cff2d7cde6519d1bc6042e28ef9b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a8029cff2d7cde6519d1bc6042e28ef9b">HMASK_512_56</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__512__56_8h.html#a7ab556dadf30933bc45dd0d3f59ba962">HBITS_512_56</a>)-1)</td></tr>
<tr class="separator:a8029cff2d7cde6519d1bc6042e28ef9b"><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:ab11601a54bdce84587a8c0667fbd0e9c"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>[<a class="el" href="big__512__56_8h.html#a62887b2a1152aaceaf6275b69d324441">NLEN_512_56</a>]</td></tr>
<tr class="separator:ab11601a54bdce84587a8c0667fbd0e9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34d978f8cc3ea578d6f00eaa0329de11"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>[<a class="el" href="big__512__56_8h.html#afcfbd331761b81491b0ad27bec046f5b">DNLEN_512_56</a>]</td></tr>
<tr class="separator:a34d978f8cc3ea578d6f00eaa0329de11"><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:a6c03cc064c9712a767314119a679973d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a6c03cc064c9712a767314119a679973d">BIG_512_56_iszilch</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x)</td></tr>
<tr class="memdesc:a6c03cc064c9712a767314119a679973d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to zero. <a href="#a6c03cc064c9712a767314119a679973d">More...</a><br /></td></tr>
<tr class="separator:a6c03cc064c9712a767314119a679973d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3340dedd669f14005a5fd1a8cb8034d3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a3340dedd669f14005a5fd1a8cb8034d3">BIG_512_56_isunity</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x)</td></tr>
<tr class="memdesc:a3340dedd669f14005a5fd1a8cb8034d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to one. <a href="#a3340dedd669f14005a5fd1a8cb8034d3">More...</a><br /></td></tr>
<tr class="separator:a3340dedd669f14005a5fd1a8cb8034d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6de2d4eec2f88af00f6b83afe28adfdd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a6de2d4eec2f88af00f6b83afe28adfdd">BIG_512_56_diszilch</a> (<a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x)</td></tr>
<tr class="memdesc:a6de2d4eec2f88af00f6b83afe28adfdd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for DBIG equal to zero. <a href="#a6de2d4eec2f88af00f6b83afe28adfdd">More...</a><br /></td></tr>
<tr class="separator:a6de2d4eec2f88af00f6b83afe28adfdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb4bad064aaa2c63223a2b1e36cc9df2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#afb4bad064aaa2c63223a2b1e36cc9df2">BIG_512_56_output</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x)</td></tr>
<tr class="memdesc:afb4bad064aaa2c63223a2b1e36cc9df2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console. <a href="#afb4bad064aaa2c63223a2b1e36cc9df2">More...</a><br /></td></tr>
<tr class="separator:afb4bad064aaa2c63223a2b1e36cc9df2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c96763abe22b98036f1c0745dffedc9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a9c96763abe22b98036f1c0745dffedc9">BIG_512_56_rawoutput</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x)</td></tr>
<tr class="memdesc:a9c96763abe22b98036f1c0745dffedc9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console in raw form (for debugging) <a href="#a9c96763abe22b98036f1c0745dffedc9">More...</a><br /></td></tr>
<tr class="separator:a9c96763abe22b98036f1c0745dffedc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a7deda52de574bd6319cd42f69c67c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a9a7deda52de574bd6319cd42f69c67c5">BIG_512_56_cswap</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y, int s)</td></tr>
<tr class="memdesc:a9a7deda52de574bd6319cd42f69c67c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional constant time swap of two BIG numbers. <a href="#a9a7deda52de574bd6319cd42f69c67c5">More...</a><br /></td></tr>
<tr class="separator:a9a7deda52de574bd6319cd42f69c67c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a864d5e13bdc3993881b64896ed2a2e9c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a864d5e13bdc3993881b64896ed2a2e9c">BIG_512_56_cmove</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y, int s)</td></tr>
<tr class="memdesc:a864d5e13bdc3993881b64896ed2a2e9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of BIG number. <a href="#a864d5e13bdc3993881b64896ed2a2e9c">More...</a><br /></td></tr>
<tr class="separator:a864d5e13bdc3993881b64896ed2a2e9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa25d081ccd192a558b6f6703cbd1a7f3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#aa25d081ccd192a558b6f6703cbd1a7f3">BIG_512_56_dcmove</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y, int s)</td></tr>
<tr class="memdesc:aa25d081ccd192a558b6f6703cbd1a7f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of DBIG number. <a href="#aa25d081ccd192a558b6f6703cbd1a7f3">More...</a><br /></td></tr>
<tr class="separator:aa25d081ccd192a558b6f6703cbd1a7f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d59711b062c1ce4edcbe9f2a85a6dc4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a6d59711b062c1ce4edcbe9f2a85a6dc4">BIG_512_56_toBytes</a> (char *a, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x)</td></tr>
<tr class="memdesc:a6d59711b062c1ce4edcbe9f2a85a6dc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from BIG number to byte array. <a href="#a6d59711b062c1ce4edcbe9f2a85a6dc4">More...</a><br /></td></tr>
<tr class="separator:a6d59711b062c1ce4edcbe9f2a85a6dc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae55018509b356aef389161e2ae3252b4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#ae55018509b356aef389161e2ae3252b4">BIG_512_56_fromBytes</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, char *a)</td></tr>
<tr class="memdesc:ae55018509b356aef389161e2ae3252b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array. <a href="#ae55018509b356aef389161e2ae3252b4">More...</a><br /></td></tr>
<tr class="separator:ae55018509b356aef389161e2ae3252b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a540ea492b28221f6a202b7e069ff00f3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a540ea492b28221f6a202b7e069ff00f3">BIG_512_56_fromBytesLen</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, char *a, int s)</td></tr>
<tr class="memdesc:a540ea492b28221f6a202b7e069ff00f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array of given length. <a href="#a540ea492b28221f6a202b7e069ff00f3">More...</a><br /></td></tr>
<tr class="separator:a540ea492b28221f6a202b7e069ff00f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b51d7740118852bf623f8bf74fe4e9a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a0b51d7740118852bf623f8bf74fe4e9a">BIG_512_56_dfromBytesLen</a> (<a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x, char *a, int s)</td></tr>
<tr class="memdesc:a0b51d7740118852bf623f8bf74fe4e9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to DBIG number from byte array of given length. <a href="#a0b51d7740118852bf623f8bf74fe4e9a">More...</a><br /></td></tr>
<tr class="separator:a0b51d7740118852bf623f8bf74fe4e9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4444655663c0fe5ce35ff2663daf1b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#ad4444655663c0fe5ce35ff2663daf1b3">BIG_512_56_doutput</a> (<a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x)</td></tr>
<tr class="memdesc:ad4444655663c0fe5ce35ff2663daf1b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console. <a href="#ad4444655663c0fe5ce35ff2663daf1b3">More...</a><br /></td></tr>
<tr class="separator:ad4444655663c0fe5ce35ff2663daf1b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a660c01c6bdae1aee012b9bb050cfa6b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a660c01c6bdae1aee012b9bb050cfa6b3">BIG_512_56_drawoutput</a> (<a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x)</td></tr>
<tr class="memdesc:a660c01c6bdae1aee012b9bb050cfa6b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console. <a href="#a660c01c6bdae1aee012b9bb050cfa6b3">More...</a><br /></td></tr>
<tr class="separator:a660c01c6bdae1aee012b9bb050cfa6b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad74df885fe405c2ed3ed82461ef10ebd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#ad74df885fe405c2ed3ed82461ef10ebd">BIG_512_56_rcopy</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, const <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y)</td></tr>
<tr class="memdesc:ad74df885fe405c2ed3ed82461ef10ebd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG from Read-Only Memory to a BIG. <a href="#ad74df885fe405c2ed3ed82461ef10ebd">More...</a><br /></td></tr>
<tr class="separator:ad74df885fe405c2ed3ed82461ef10ebd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68f11a02ca0c3388c6fcf71872d0afeb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a68f11a02ca0c3388c6fcf71872d0afeb">BIG_512_56_copy</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y)</td></tr>
<tr class="memdesc:a68f11a02ca0c3388c6fcf71872d0afeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to another BIG. <a href="#a68f11a02ca0c3388c6fcf71872d0afeb">More...</a><br /></td></tr>
<tr class="separator:a68f11a02ca0c3388c6fcf71872d0afeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03978b297fe1e6fcf8e40ecefbcdaebc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a03978b297fe1e6fcf8e40ecefbcdaebc">BIG_512_56_dcopy</a> (<a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> y)</td></tr>
<tr class="memdesc:a03978b297fe1e6fcf8e40ecefbcdaebc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy DBIG to another DBIG. <a href="#a03978b297fe1e6fcf8e40ecefbcdaebc">More...</a><br /></td></tr>
<tr class="separator:a03978b297fe1e6fcf8e40ecefbcdaebc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a098af3008afd9a6159a541271dbd5243"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a098af3008afd9a6159a541271dbd5243">BIG_512_56_dsucopy</a> (<a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y)</td></tr>
<tr class="memdesc:a098af3008afd9a6159a541271dbd5243"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to upper half of DBIG. <a href="#a098af3008afd9a6159a541271dbd5243">More...</a><br /></td></tr>
<tr class="separator:a098af3008afd9a6159a541271dbd5243"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae19a9cb3f045e0793d6127242a1d7758"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#ae19a9cb3f045e0793d6127242a1d7758">BIG_512_56_dscopy</a> (<a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y)</td></tr>
<tr class="memdesc:ae19a9cb3f045e0793d6127242a1d7758"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to lower half of DBIG. <a href="#ae19a9cb3f045e0793d6127242a1d7758">More...</a><br /></td></tr>
<tr class="separator:ae19a9cb3f045e0793d6127242a1d7758"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81d0f439051b63c336184397352b94a3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a81d0f439051b63c336184397352b94a3">BIG_512_56_sdcopy</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> y)</td></tr>
<tr class="memdesc:a81d0f439051b63c336184397352b94a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy lower half of DBIG to a BIG. <a href="#a81d0f439051b63c336184397352b94a3">More...</a><br /></td></tr>
<tr class="separator:a81d0f439051b63c336184397352b94a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a053ee788ebe4f31fefb26cc27bbf50e3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a053ee788ebe4f31fefb26cc27bbf50e3">BIG_512_56_sducopy</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> y)</td></tr>
<tr class="memdesc:a053ee788ebe4f31fefb26cc27bbf50e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy upper half of DBIG to a BIG. <a href="#a053ee788ebe4f31fefb26cc27bbf50e3">More...</a><br /></td></tr>
<tr class="separator:a053ee788ebe4f31fefb26cc27bbf50e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ccc256e5b5b30959bef0d1248c887eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a8ccc256e5b5b30959bef0d1248c887eb">BIG_512_56_zero</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x)</td></tr>
<tr class="memdesc:a8ccc256e5b5b30959bef0d1248c887eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to zero. <a href="#a8ccc256e5b5b30959bef0d1248c887eb">More...</a><br /></td></tr>
<tr class="separator:a8ccc256e5b5b30959bef0d1248c887eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adffd0cd6299b3c53007ad55cfaccbc08"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#adffd0cd6299b3c53007ad55cfaccbc08">BIG_512_56_dzero</a> (<a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x)</td></tr>
<tr class="memdesc:adffd0cd6299b3c53007ad55cfaccbc08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to zero. <a href="#adffd0cd6299b3c53007ad55cfaccbc08">More...</a><br /></td></tr>
<tr class="separator:adffd0cd6299b3c53007ad55cfaccbc08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bf53b6ef7e92d4a508ecda646df4596"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a9bf53b6ef7e92d4a508ecda646df4596">BIG_512_56_one</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x)</td></tr>
<tr class="memdesc:a9bf53b6ef7e92d4a508ecda646df4596"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to one (unity) <a href="#a9bf53b6ef7e92d4a508ecda646df4596">More...</a><br /></td></tr>
<tr class="separator:a9bf53b6ef7e92d4a508ecda646df4596"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa876a900676e1cc70dcd423b94b0d53e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#aa876a900676e1cc70dcd423b94b0d53e">BIG_512_56_invmod2m</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x)</td></tr>
<tr class="memdesc:aa876a900676e1cc70dcd423b94b0d53e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to inverse mod 2^256. <a href="#aa876a900676e1cc70dcd423b94b0d53e">More...</a><br /></td></tr>
<tr class="separator:aa876a900676e1cc70dcd423b94b0d53e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d63ca24b476f341818792d36bced063"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a9d63ca24b476f341818792d36bced063">BIG_512_56_add</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> z)</td></tr>
<tr class="memdesc:a9d63ca24b476f341818792d36bced063"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to sum of two BIGs - output not normalised. <a href="#a9d63ca24b476f341818792d36bced063">More...</a><br /></td></tr>
<tr class="separator:a9d63ca24b476f341818792d36bced063"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6be59bc8cf6a72b0011612ae21746adc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a6be59bc8cf6a72b0011612ae21746adc">BIG_512_56_or</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> z)</td></tr>
<tr class="memdesc:a6be59bc8cf6a72b0011612ae21746adc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to logical or of two BIGs - output normalised. <a href="#a6be59bc8cf6a72b0011612ae21746adc">More...</a><br /></td></tr>
<tr class="separator:a6be59bc8cf6a72b0011612ae21746adc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8efbc4513b62ba29acb31422274031a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#ab8efbc4513b62ba29acb31422274031a">BIG_512_56_inc</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, int i)</td></tr>
<tr class="memdesc:ab8efbc4513b62ba29acb31422274031a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment BIG by a small integer - output not normalised. <a href="#ab8efbc4513b62ba29acb31422274031a">More...</a><br /></td></tr>
<tr class="separator:ab8efbc4513b62ba29acb31422274031a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace7ad7e061735c9b856058229ef6564f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#ace7ad7e061735c9b856058229ef6564f">BIG_512_56_sub</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> z)</td></tr>
<tr class="memdesc:ace7ad7e061735c9b856058229ef6564f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to difference of two BIGs. <a href="#ace7ad7e061735c9b856058229ef6564f">More...</a><br /></td></tr>
<tr class="separator:ace7ad7e061735c9b856058229ef6564f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3850173cc993a8e0ca6e37c3b72e42dd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a3850173cc993a8e0ca6e37c3b72e42dd">BIG_512_56_dec</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, int i)</td></tr>
<tr class="memdesc:a3850173cc993a8e0ca6e37c3b72e42dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement BIG by a small integer - output not normalised. <a href="#a3850173cc993a8e0ca6e37c3b72e42dd">More...</a><br /></td></tr>
<tr class="separator:a3850173cc993a8e0ca6e37c3b72e42dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad152e5454d243adc45ac706d9daed8bb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#ad152e5454d243adc45ac706d9daed8bb">BIG_512_56_dadd</a> (<a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> y, <a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> z)</td></tr>
<tr class="memdesc:ad152e5454d243adc45ac706d9daed8bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to sum of two DBIGs. <a href="#ad152e5454d243adc45ac706d9daed8bb">More...</a><br /></td></tr>
<tr class="separator:ad152e5454d243adc45ac706d9daed8bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44c83544222c4b105cbe686661fe372b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a44c83544222c4b105cbe686661fe372b">BIG_512_56_dsub</a> (<a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> y, <a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> z)</td></tr>
<tr class="memdesc:a44c83544222c4b105cbe686661fe372b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to difference of two DBIGs. <a href="#a44c83544222c4b105cbe686661fe372b">More...</a><br /></td></tr>
<tr class="separator:a44c83544222c4b105cbe686661fe372b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0d5e92eddf8ffb0887ba01b52ab64b2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#ad0d5e92eddf8ffb0887ba01b52ab64b2">BIG_512_56_imul</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y, int i)</td></tr>
<tr class="memdesc:ad0d5e92eddf8ffb0887ba01b52ab64b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by a small integer - output not normalised. <a href="#ad0d5e92eddf8ffb0887ba01b52ab64b2">More...</a><br /></td></tr>
<tr class="separator:ad0d5e92eddf8ffb0887ba01b52ab64b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55cbbd8bea4ce42cbba3b2b7586ba882"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a55cbbd8bea4ce42cbba3b2b7586ba882">BIG_512_56_pmul</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y, int i)</td></tr>
<tr class="memdesc:a55cbbd8bea4ce42cbba3b2b7586ba882"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by not-so-small small integer - output normalised. <a href="#a55cbbd8bea4ce42cbba3b2b7586ba882">More...</a><br /></td></tr>
<tr class="separator:a55cbbd8bea4ce42cbba3b2b7586ba882"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48a5f3efae9e6383d50d4160555275c1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a48a5f3efae9e6383d50d4160555275c1">BIG_512_56_div3</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x)</td></tr>
<tr class="memdesc:a48a5f3efae9e6383d50d4160555275c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide BIG by 3 - output normalised. <a href="#a48a5f3efae9e6383d50d4160555275c1">More...</a><br /></td></tr>
<tr class="separator:a48a5f3efae9e6383d50d4160555275c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d1bcc77b27d0d4c6c5dba8fb1855aac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a3d1bcc77b27d0d4c6c5dba8fb1855aac">BIG_512_56_pxmul</a> (<a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y, int i)</td></tr>
<tr class="memdesc:a3d1bcc77b27d0d4c6c5dba8fb1855aac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised. <a href="#a3d1bcc77b27d0d4c6c5dba8fb1855aac">More...</a><br /></td></tr>
<tr class="separator:a3d1bcc77b27d0d4c6c5dba8fb1855aac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bcfee35eb9d3689fcf2faf09aee9c2f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a0bcfee35eb9d3689fcf2faf09aee9c2f">BIG_512_56_mul</a> (<a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> z)</td></tr>
<tr class="memdesc:a0bcfee35eb9d3689fcf2faf09aee9c2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised. <a href="#a0bcfee35eb9d3689fcf2faf09aee9c2f">More...</a><br /></td></tr>
<tr class="separator:a0bcfee35eb9d3689fcf2faf09aee9c2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f3bfcf5947e7c9854b36ad87a0b58d0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a8f3bfcf5947e7c9854b36ad87a0b58d0">BIG_512_56_smul</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> z)</td></tr>
<tr class="memdesc:a8f3bfcf5947e7c9854b36ad87a0b58d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised. <a href="#a8f3bfcf5947e7c9854b36ad87a0b58d0">More...</a><br /></td></tr>
<tr class="separator:a8f3bfcf5947e7c9854b36ad87a0b58d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a538a695940b21f3ef8396f146fbf6fb6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a538a695940b21f3ef8396f146fbf6fb6">BIG_512_56_sqr</a> (<a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y)</td></tr>
<tr class="memdesc:a538a695940b21f3ef8396f146fbf6fb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square BIG resulting in a DBIG - input normalised and output normalised. <a href="#a538a695940b21f3ef8396f146fbf6fb6">More...</a><br /></td></tr>
<tr class="separator:a538a695940b21f3ef8396f146fbf6fb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a191d00670fdaab6392a9358dbb4255ce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a191d00670fdaab6392a9358dbb4255ce">BIG_512_56_monty</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> a, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> md, <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC, <a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> d)</td></tr>
<tr class="memdesc:a191d00670fdaab6392a9358dbb4255ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised. <a href="#a191d00670fdaab6392a9358dbb4255ce">More...</a><br /></td></tr>
<tr class="separator:a191d00670fdaab6392a9358dbb4255ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a740033e4e3e32da7c77eba04d972ba08"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a740033e4e3e32da7c77eba04d972ba08">BIG_512_56_shl</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, int s)</td></tr>
<tr class="memdesc:a740033e4e3e32da7c77eba04d972ba08"><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="#a740033e4e3e32da7c77eba04d972ba08">More...</a><br /></td></tr>
<tr class="separator:a740033e4e3e32da7c77eba04d972ba08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb19214740d1b4665c8af07c43351167"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#adb19214740d1b4665c8af07c43351167">BIG_512_56_fshl</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, int s)</td></tr>
<tr class="memdesc:adb19214740d1b4665c8af07c43351167"><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="#adb19214740d1b4665c8af07c43351167">More...</a><br /></td></tr>
<tr class="separator:adb19214740d1b4665c8af07c43351167"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebc1c4e56b4865cc88d1a21d28873cdf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#aebc1c4e56b4865cc88d1a21d28873cdf">BIG_512_56_dshl</a> (<a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x, int s)</td></tr>
<tr class="memdesc:aebc1c4e56b4865cc88d1a21d28873cdf"><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="#aebc1c4e56b4865cc88d1a21d28873cdf">More...</a><br /></td></tr>
<tr class="separator:aebc1c4e56b4865cc88d1a21d28873cdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadc551ab1e69a4c426ba46e39e1e829f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#aadc551ab1e69a4c426ba46e39e1e829f">BIG_512_56_shr</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, int s)</td></tr>
<tr class="memdesc:aadc551ab1e69a4c426ba46e39e1e829f"><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="#aadc551ab1e69a4c426ba46e39e1e829f">More...</a><br /></td></tr>
<tr class="separator:aadc551ab1e69a4c426ba46e39e1e829f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7153d530dcfb862db535d5476db898c5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a7153d530dcfb862db535d5476db898c5">BIG_512_56_ssn</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> r, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> a, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> m)</td></tr>
<tr class="memdesc:a7153d530dcfb862db535d5476db898c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast time-critical combined shift by 1 bit, subtract and normalise. <a href="#a7153d530dcfb862db535d5476db898c5">More...</a><br /></td></tr>
<tr class="separator:a7153d530dcfb862db535d5476db898c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a017f4fbc93b39f7449f32e98c5b42caa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a017f4fbc93b39f7449f32e98c5b42caa">BIG_512_56_fshr</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, int s)</td></tr>
<tr class="memdesc:a017f4fbc93b39f7449f32e98c5b42caa"><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="#a017f4fbc93b39f7449f32e98c5b42caa">More...</a><br /></td></tr>
<tr class="separator:a017f4fbc93b39f7449f32e98c5b42caa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8b4cb805046cf776c407f93dbe67fec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#ac8b4cb805046cf776c407f93dbe67fec">BIG_512_56_dshr</a> (<a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x, int s)</td></tr>
<tr class="memdesc:ac8b4cb805046cf776c407f93dbe67fec"><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="#ac8b4cb805046cf776c407f93dbe67fec">More...</a><br /></td></tr>
<tr class="separator:ac8b4cb805046cf776c407f93dbe67fec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad468b89e9dbebced678a451cacfe117e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#ad468b89e9dbebced678a451cacfe117e">BIG_512_56_split</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y, <a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> z, int s)</td></tr>
<tr class="memdesc:ad468b89e9dbebced678a451cacfe117e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a DBIG into two BIGs - input must be normalised, outputs normalised. <a href="#ad468b89e9dbebced678a451cacfe117e">More...</a><br /></td></tr>
<tr class="separator:ad468b89e9dbebced678a451cacfe117e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86e77134248181c82ba9d8761b7915df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a86e77134248181c82ba9d8761b7915df">BIG_512_56_norm</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x)</td></tr>
<tr class="memdesc:a86e77134248181c82ba9d8761b7915df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a BIG number - output normalised. <a href="#a86e77134248181c82ba9d8761b7915df">More...</a><br /></td></tr>
<tr class="separator:a86e77134248181c82ba9d8761b7915df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e040a971d39ee89acd1dc5cdc71b7ef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a2e040a971d39ee89acd1dc5cdc71b7ef">BIG_512_56_dnorm</a> (<a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x)</td></tr>
<tr class="memdesc:a2e040a971d39ee89acd1dc5cdc71b7ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a DBIG number - output normalised. <a href="#a2e040a971d39ee89acd1dc5cdc71b7ef">More...</a><br /></td></tr>
<tr class="separator:a2e040a971d39ee89acd1dc5cdc71b7ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac43de147c19d30997f2286aa44f33acd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#ac43de147c19d30997f2286aa44f33acd">BIG_512_56_comp</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y)</td></tr>
<tr class="memdesc:ac43de147c19d30997f2286aa44f33acd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two BIG numbers. Inputs must be normalised externally. <a href="#ac43de147c19d30997f2286aa44f33acd">More...</a><br /></td></tr>
<tr class="separator:ac43de147c19d30997f2286aa44f33acd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a151e9c55e70d633c6d6894a46f1d03"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a8a151e9c55e70d633c6d6894a46f1d03">BIG_512_56_dcomp</a> (<a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> y)</td></tr>
<tr class="memdesc:a8a151e9c55e70d633c6d6894a46f1d03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two DBIG numbers. Inputs must be normalised externally. <a href="#a8a151e9c55e70d633c6d6894a46f1d03">More...</a><br /></td></tr>
<tr class="separator:a8a151e9c55e70d633c6d6894a46f1d03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f2f293f6815e445635ae8938e425440"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a7f2f293f6815e445635ae8938e425440">BIG_512_56_nbits</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x)</td></tr>
<tr class="memdesc:a7f2f293f6815e445635ae8938e425440"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a BIG - output normalised. <a href="#a7f2f293f6815e445635ae8938e425440">More...</a><br /></td></tr>
<tr class="separator:a7f2f293f6815e445635ae8938e425440"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebd160d796ad0cfeb78dce6615344247"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#aebd160d796ad0cfeb78dce6615344247">BIG_512_56_dnbits</a> (<a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x)</td></tr>
<tr class="memdesc:aebd160d796ad0cfeb78dce6615344247"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a DBIG - output normalised. <a href="#aebd160d796ad0cfeb78dce6615344247">More...</a><br /></td></tr>
<tr class="separator:aebd160d796ad0cfeb78dce6615344247"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33dada601f88ef9ac0d4cf3af7898eaf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a33dada601f88ef9ac0d4cf3af7898eaf">BIG_512_56_mod</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> n)</td></tr>
<tr class="memdesc:a33dada601f88ef9ac0d4cf3af7898eaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce x mod n - input and output normalised. <a href="#a33dada601f88ef9ac0d4cf3af7898eaf">More...</a><br /></td></tr>
<tr class="separator:a33dada601f88ef9ac0d4cf3af7898eaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4a9c8041b508eb6f2ec08901f99babd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#ac4a9c8041b508eb6f2ec08901f99babd">BIG_512_56_sdiv</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> n)</td></tr>
<tr class="memdesc:ac4a9c8041b508eb6f2ec08901f99babd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide x by n - output normalised. <a href="#ac4a9c8041b508eb6f2ec08901f99babd">More...</a><br /></td></tr>
<tr class="separator:ac4a9c8041b508eb6f2ec08901f99babd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9083efa35d03931429c193bba4d6f7af"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a9083efa35d03931429c193bba4d6f7af">BIG_512_56_dmod</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> y, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> n)</td></tr>
<tr class="memdesc:a9083efa35d03931429c193bba4d6f7af"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y mod n - output normalised <a href="#a9083efa35d03931429c193bba4d6f7af">More...</a><br /></td></tr>
<tr class="separator:a9083efa35d03931429c193bba4d6f7af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6426c606125f7bc25b9b465e20d45cc5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a6426c606125f7bc25b9b465e20d45cc5">BIG_512_56_ddiv</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> y, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> n)</td></tr>
<tr class="memdesc:a6426c606125f7bc25b9b465e20d45cc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y/n - output normalised <a href="#a6426c606125f7bc25b9b465e20d45cc5">More...</a><br /></td></tr>
<tr class="separator:a6426c606125f7bc25b9b465e20d45cc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbcf13df48a0bd71d13b06e4c33e9960"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#afbcf13df48a0bd71d13b06e4c33e9960">BIG_512_56_parity</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x)</td></tr>
<tr class="memdesc:afbcf13df48a0bd71d13b06e4c33e9960"><td class="mdescLeft">&#160;</td><td class="mdescRight">return parity of BIG, that is the least significant bit <a href="#afbcf13df48a0bd71d13b06e4c33e9960">More...</a><br /></td></tr>
<tr class="separator:afbcf13df48a0bd71d13b06e4c33e9960"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac818f5154062c03071c1466e3b422c5e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#ac818f5154062c03071c1466e3b422c5e">BIG_512_56_bit</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, int i)</td></tr>
<tr class="memdesc:ac818f5154062c03071c1466e3b422c5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">return i-th of BIG <a href="#ac818f5154062c03071c1466e3b422c5e">More...</a><br /></td></tr>
<tr class="separator:ac818f5154062c03071c1466e3b422c5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f96e6eb608a1bf5c8c74e7bf0414652"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a5f96e6eb608a1bf5c8c74e7bf0414652">BIG_512_56_lastbits</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, int n)</td></tr>
<tr class="memdesc:a5f96e6eb608a1bf5c8c74e7bf0414652"><td class="mdescLeft">&#160;</td><td class="mdescRight">return least significant bits of a BIG <a href="#a5f96e6eb608a1bf5c8c74e7bf0414652">More...</a><br /></td></tr>
<tr class="separator:a5f96e6eb608a1bf5c8c74e7bf0414652"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac005ca9468820c2cbc172cf2152142c9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#ac005ca9468820c2cbc172cf2152142c9">BIG_512_56_random</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
<tr class="memdesc:ac005ca9468820c2cbc172cf2152142c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random BIG from a random number generator. <a href="#ac005ca9468820c2cbc172cf2152142c9">More...</a><br /></td></tr>
<tr class="separator:ac005ca9468820c2cbc172cf2152142c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2af9e5422a6d117d35064934b4d8d89a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a2af9e5422a6d117d35064934b4d8d89a">BIG_512_56_randomnum</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> n, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
<tr class="memdesc:a2af9e5422a6d117d35064934b4d8d89a"><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="#a2af9e5422a6d117d35064934b4d8d89a">More...</a><br /></td></tr>
<tr class="separator:a2af9e5422a6d117d35064934b4d8d89a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32953ffd99aa78f11058d40372671f51"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a32953ffd99aa78f11058d40372671f51">BIG_512_56_modmul</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> z, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> n)</td></tr>
<tr class="memdesc:a32953ffd99aa78f11058d40372671f51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y*z mod n. <a href="#a32953ffd99aa78f11058d40372671f51">More...</a><br /></td></tr>
<tr class="separator:a32953ffd99aa78f11058d40372671f51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a133822f592e434ef3d90b43b15bd2b33"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a133822f592e434ef3d90b43b15bd2b33">BIG_512_56_moddiv</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> z, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> n)</td></tr>
<tr class="memdesc:a133822f592e434ef3d90b43b15bd2b33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y/z mod n. <a href="#a133822f592e434ef3d90b43b15bd2b33">More...</a><br /></td></tr>
<tr class="separator:a133822f592e434ef3d90b43b15bd2b33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac14ac6d9e1586dc7659fac77ae82be8e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#ac14ac6d9e1586dc7659fac77ae82be8e">BIG_512_56_modsqr</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> n)</td></tr>
<tr class="memdesc:ac14ac6d9e1586dc7659fac77ae82be8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y^2 mod n. <a href="#ac14ac6d9e1586dc7659fac77ae82be8e">More...</a><br /></td></tr>
<tr class="separator:ac14ac6d9e1586dc7659fac77ae82be8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af80c816796a26a0a58c40fabb8421658"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#af80c816796a26a0a58c40fabb8421658">BIG_512_56_modneg</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> n)</td></tr>
<tr class="memdesc:af80c816796a26a0a58c40fabb8421658"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=-y mod n. <a href="#af80c816796a26a0a58c40fabb8421658">More...</a><br /></td></tr>
<tr class="separator:af80c816796a26a0a58c40fabb8421658"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5f5b53f95182fcca945f2beb0b813fa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#ac5f5b53f95182fcca945f2beb0b813fa">BIG_512_56_jacobi</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y)</td></tr>
<tr class="memdesc:ac5f5b53f95182fcca945f2beb0b813fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate jacobi Symbol (x/y) <a href="#ac5f5b53f95182fcca945f2beb0b813fa">More...</a><br /></td></tr>
<tr class="separator:ac5f5b53f95182fcca945f2beb0b813fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa53606a6b41f19e07fc7107e0e584cfb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#aa53606a6b41f19e07fc7107e0e584cfb">BIG_512_56_invmodp</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y, <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> n)</td></tr>
<tr class="memdesc:aa53606a6b41f19e07fc7107e0e584cfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=1/y mod n. <a href="#aa53606a6b41f19e07fc7107e0e584cfb">More...</a><br /></td></tr>
<tr class="separator:aa53606a6b41f19e07fc7107e0e584cfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24123faaf65ca0139f2f69c86f96a5ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a24123faaf65ca0139f2f69c86f96a5ed">BIG_512_56_mod2m</a> (<a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x, int m)</td></tr>
<tr class="memdesc:a24123faaf65ca0139f2f69c86f96a5ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m. <a href="#a24123faaf65ca0139f2f69c86f96a5ed">More...</a><br /></td></tr>
<tr class="separator:a24123faaf65ca0139f2f69c86f96a5ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29da37996f5cc674d38ed4c9936f66b1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html#a29da37996f5cc674d38ed4c9936f66b1">BIG_512_56_dmod2m</a> (<a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x, int m)</td></tr>
<tr class="memdesc:a29da37996f5cc674d38ed4c9936f66b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m. <a href="#a29da37996f5cc674d38ed4c9936f66b1">More...</a><br /></td></tr>
<tr class="separator:a29da37996f5cc674d38ed4c9936f66b1"><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="a0db657df710516e21bc7c3a30ebaca9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0db657df710516e21bc7c3a30ebaca9c">&#9670;&nbsp;</a></span>BIGBITS_512_56</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BIGBITS_512_56&#160;&#160;&#160;(8*<a class="el" href="config__big__512__56_8h.html#ad0955750f1206f810e2a885e43899861">MODBYTES_512_56</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Length in bits </p>
</div>
</div>
<a id="a60de6314c192035ae1f8dc53e4e1d2e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60de6314c192035ae1f8dc53e4e1d2e5">&#9670;&nbsp;</a></span>BMASK_512_56</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BMASK_512_56&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__512__56_8h.html#ae055399023f68da19be8040f6394efe3">BASEBITS_512_56</a>)-1)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Mask = 2^BASEBITS-1 </p>
</div>
</div>
<a id="afcfbd331761b81491b0ad27bec046f5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afcfbd331761b81491b0ad27bec046f5b">&#9670;&nbsp;</a></span>DNLEN_512_56</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DNLEN_512_56&#160;&#160;&#160;2*<a class="el" href="big__512__56_8h.html#a62887b2a1152aaceaf6275b69d324441">NLEN_512_56</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Double length in bytes </p>
</div>
</div>
<a id="a7ab556dadf30933bc45dd0d3f59ba962"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ab556dadf30933bc45dd0d3f59ba962">&#9670;&nbsp;</a></span>HBITS_512_56</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HBITS_512_56&#160;&#160;&#160;(<a class="el" href="config__big__512__56_8h.html#ae055399023f68da19be8040f6394efe3">BASEBITS_512_56</a>/2)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of bits in number base divided by 2 </p>
</div>
</div>
<a id="a8029cff2d7cde6519d1bc6042e28ef9b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8029cff2d7cde6519d1bc6042e28ef9b">&#9670;&nbsp;</a></span>HMASK_512_56</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HMASK_512_56&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__512__56_8h.html#a7ab556dadf30933bc45dd0d3f59ba962">HBITS_512_56</a>)-1)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Mask = 2^HBITS-1 </p>
</div>
</div>
<a id="a04df0e72fd01b043bc75136f55dddefa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04df0e72fd01b043bc75136f55dddefa">&#9670;&nbsp;</a></span>NEXCESS_512_56</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define NEXCESS_512_56&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__512__56_8h.html#ae055399023f68da19be8040f6394efe3">BASEBITS_512_56</a>-1))</td>
</tr>
</table>
</div><div class="memdoc">
<p>2^(CHUNK-BASEBITS-1) - digit cannot be multiplied by more than this before normalisation </p>
</div>
</div>
<a id="a62887b2a1152aaceaf6275b69d324441"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62887b2a1152aaceaf6275b69d324441">&#9670;&nbsp;</a></span>NLEN_512_56</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define NLEN_512_56&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__512__56_8h.html#ad0955750f1206f810e2a885e43899861">MODBYTES_512_56</a>-1)/<a class="el" href="config__big__512__56_8h.html#ae055399023f68da19be8040f6394efe3">BASEBITS_512_56</a>))</td>
</tr>
</table>
</div><div class="memdoc">
<p>length in bytes </p>
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ab11601a54bdce84587a8c0667fbd0e9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab11601a54bdce84587a8c0667fbd0e9c">&#9670;&nbsp;</a></span>BIG_512_56</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_512_56[<a class="el" href="big__512__56_8h.html#a62887b2a1152aaceaf6275b69d324441">NLEN_512_56</a>]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Define type BIG as array of chunks </p>
</div>
</div>
<a id="a34d978f8cc3ea578d6f00eaa0329de11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34d978f8cc3ea578d6f00eaa0329de11">&#9670;&nbsp;</a></span>DBIG_512_56</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> DBIG_512_56[<a class="el" href="big__512__56_8h.html#afcfbd331761b81491b0ad27bec046f5b">DNLEN_512_56</a>]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Define type DBIG as array of chunks </p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a9d63ca24b476f341818792d36bced063"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d63ca24b476f341818792d36bced063">&#9670;&nbsp;</a></span>BIG_512_56_add()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_add </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, sum of other two </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">z</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac818f5154062c03071c1466e3b422c5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac818f5154062c03071c1466e3b422c5e">&#9670;&nbsp;</a></span>BIG_512_56_bit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_56_bit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">i</td><td>the bit of x to be returned </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 or 1 </dd></dl>
</div>
</div>
<a id="a864d5e13bdc3993881b64896ed2a2e9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a864d5e13bdc3993881b64896ed2a2e9c">&#9670;&nbsp;</a></span>BIG_512_56_cmove()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_cmove </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Conditionally copies second parameter to the first (without branching) </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a BIG number </td></tr>
<tr><td class="paramname">y</td><td>another BIG number </td></tr>
<tr><td class="paramname">s</td><td>copy takes place if not equal to 0 </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac43de147c19d30997f2286aa44f33acd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac43de147c19d30997f2286aa44f33acd">&#9670;&nbsp;</a></span>BIG_512_56_comp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_56_comp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>first BIG number to be compared </td></tr>
<tr><td class="paramname">y</td><td>second BIG number to be compared </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>-1 is x&lt;y, 0 if x=y, 1 if x&gt;y </dd></dl>
</div>
</div>
<a id="a68f11a02ca0c3388c6fcf71872d0afeb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68f11a02ca0c3388c6fcf71872d0afeb">&#9670;&nbsp;</a></span>BIG_512_56_copy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_copy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">y</td><td>BIG number to be copied </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9a7deda52de574bd6319cd42f69c67c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a7deda52de574bd6319cd42f69c67c5">&#9670;&nbsp;</a></span>BIG_512_56_cswap()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_cswap </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Conditionally swaps parameters in constant time (without branching) </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a BIG number </td></tr>
<tr><td class="paramname">y</td><td>another BIG number </td></tr>
<tr><td class="paramname">s</td><td>swap takes place if not equal to 0 </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad152e5454d243adc45ac706d9daed8bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad152e5454d243adc45ac706d9daed8bb">&#9670;&nbsp;</a></span>BIG_512_56_dadd()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_dadd </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number, sum of other two - output not normalised </td></tr>
<tr><td class="paramname">y</td><td>DBIG number </td></tr>
<tr><td class="paramname">z</td><td>DBIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa25d081ccd192a558b6f6703cbd1a7f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa25d081ccd192a558b6f6703cbd1a7f3">&#9670;&nbsp;</a></span>BIG_512_56_dcmove()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_dcmove </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Conditionally copies second parameter to the first (without branching) </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a DBIG number </td></tr>
<tr><td class="paramname">y</td><td>another DBIG number </td></tr>
<tr><td class="paramname">s</td><td>copy takes place if not equal to 0 </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8a151e9c55e70d633c6d6894a46f1d03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a151e9c55e70d633c6d6894a46f1d03">&#9670;&nbsp;</a></span>BIG_512_56_dcomp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_56_dcomp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>first DBIG number to be compared </td></tr>
<tr><td class="paramname">y</td><td>second DBIG number to be compared </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>-1 is x&lt;y, 0 if x=y, 1 if x&gt;y </dd></dl>
</div>
</div>
<a id="a03978b297fe1e6fcf8e40ecefbcdaebc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03978b297fe1e6fcf8e40ecefbcdaebc">&#9670;&nbsp;</a></span>BIG_512_56_dcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_dcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number </td></tr>
<tr><td class="paramname">y</td><td>DBIG number to be copied </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6426c606125f7bc25b9b465e20d45cc5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6426c606125f7bc25b9b465e20d45cc5">&#9670;&nbsp;</a></span>BIG_512_56_ddiv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_ddiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Slow but rarely used. y is destroyed. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit = y/n </td></tr>
<tr><td class="paramname">y</td><td>DBIG number </td></tr>
<tr><td class="paramname">n</td><td>Modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3850173cc993a8e0ca6e37c3b72e42dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3850173cc993a8e0ca6e37c3b72e42dd">&#9670;&nbsp;</a></span>BIG_512_56_dec()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_dec </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be decremented </td></tr>
<tr><td class="paramname">i</td><td>integer </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0b51d7740118852bf623f8bf74fe4e9a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b51d7740118852bf623f8bf74fe4e9a">&#9670;&nbsp;</a></span>BIG_512_56_dfromBytesLen()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_dfromBytesLen </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number </td></tr>
<tr><td class="paramname">a</td><td>byte array </td></tr>
<tr><td class="paramname">s</td><td>byte array length </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6de2d4eec2f88af00f6b83afe28adfdd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6de2d4eec2f88af00f6b83afe28adfdd">&#9670;&nbsp;</a></span>BIG_512_56_diszilch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_56_diszilch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a DBIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if zero, else returns 0 </dd></dl>
</div>
</div>
<a id="a48a5f3efae9e6383d50d4160555275c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48a5f3efae9e6383d50d4160555275c1">&#9670;&nbsp;</a></span>BIG_512_56_div3()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_56_div3 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Remainder </dd></dl>
</div>
</div>
<a id="a9083efa35d03931429c193bba4d6f7af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9083efa35d03931429c193bba4d6f7af">&#9670;&nbsp;</a></span>BIG_512_56_dmod()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_dmod </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Slow but rarely used. y is destroyed. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit = y mod n </td></tr>
<tr><td class="paramname">y</td><td>DBIG number </td></tr>
<tr><td class="paramname">n</td><td>Modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a29da37996f5cc674d38ed4c9936f66b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29da37996f5cc674d38ed4c9936f66b1">&#9670;&nbsp;</a></span>BIG_512_56_dmod2m()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_dmod2m </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>m</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Truncation </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number, on reduced mod 2^m </td></tr>
<tr><td class="paramname">m</td><td>new truncated size </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aebd160d796ad0cfeb78dce6615344247"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aebd160d796ad0cfeb78dce6615344247">&#9670;&nbsp;</a></span>BIG_512_56_dnbits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_56_dnbits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bits in x </dd></dl>
</div>
</div>
<a id="a2e040a971d39ee89acd1dc5cdc71b7ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e040a971d39ee89acd1dc5cdc71b7ef">&#9670;&nbsp;</a></span>BIG_512_56_dnorm()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_dnorm </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>All digits of the input DBIG are reduced mod 2^BASEBITS </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number to be normalised </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad4444655663c0fe5ce35ff2663daf1b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad4444655663c0fe5ce35ff2663daf1b3">&#9670;&nbsp;</a></span>BIG_512_56_doutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_doutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a DBIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a660c01c6bdae1aee012b9bb050cfa6b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a660c01c6bdae1aee012b9bb050cfa6b3">&#9670;&nbsp;</a></span>BIG_512_56_drawoutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_drawoutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a DBIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae19a9cb3f045e0793d6127242a1d7758"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae19a9cb3f045e0793d6127242a1d7758">&#9670;&nbsp;</a></span>BIG_512_56_dscopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_dscopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number </td></tr>
<tr><td class="paramname">y</td><td>BIG number to be copied </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aebc1c4e56b4865cc88d1a21d28873cdf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aebc1c4e56b4865cc88d1a21d28873cdf">&#9670;&nbsp;</a></span>BIG_512_56_dshl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_dshl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number to be shifted </td></tr>
<tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac8b4cb805046cf776c407f93dbe67fec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8b4cb805046cf776c407f93dbe67fec">&#9670;&nbsp;</a></span>BIG_512_56_dshr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_dshr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number to be shifted </td></tr>
<tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a44c83544222c4b105cbe686661fe372b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44c83544222c4b105cbe686661fe372b">&#9670;&nbsp;</a></span>BIG_512_56_dsub()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_dsub </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number, difference of other two - output not normalised </td></tr>
<tr><td class="paramname">y</td><td>DBIG number </td></tr>
<tr><td class="paramname">z</td><td>DBIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a098af3008afd9a6159a541271dbd5243"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a098af3008afd9a6159a541271dbd5243">&#9670;&nbsp;</a></span>BIG_512_56_dsucopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_dsucopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number </td></tr>
<tr><td class="paramname">y</td><td>BIG number to be copied </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="adffd0cd6299b3c53007ad55cfaccbc08"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adffd0cd6299b3c53007ad55cfaccbc08">&#9670;&nbsp;</a></span>BIG_512_56_dzero()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_dzero </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number to be set to zero </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae55018509b356aef389161e2ae3252b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae55018509b356aef389161e2ae3252b4">&#9670;&nbsp;</a></span>BIG_512_56_fromBytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_fromBytes </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>a</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">a</td><td>byte array </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a540ea492b28221f6a202b7e069ff00f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a540ea492b28221f6a202b7e069ff00f3">&#9670;&nbsp;</a></span>BIG_512_56_fromBytesLen()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_fromBytesLen </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">a</td><td>byte array </td></tr>
<tr><td class="paramname">s</td><td>byte array length </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="adb19214740d1b4665c8af07c43351167"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb19214740d1b4665c8af07c43351167">&#9670;&nbsp;</a></span>BIG_512_56_fshl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_56_fshl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The number of bits to be shifted must be less than BASEBITS </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be shifted </td></tr>
<tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Overflow bits </dd></dl>
</div>
</div>
<a id="a017f4fbc93b39f7449f32e98c5b42caa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a017f4fbc93b39f7449f32e98c5b42caa">&#9670;&nbsp;</a></span>BIG_512_56_fshr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_56_fshr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The number of bits to be shifted must be less than BASEBITS </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be shifted </td></tr>
<tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Shifted out bits </dd></dl>
</div>
</div>
<a id="ad0d5e92eddf8ffb0887ba01b52ab64b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0d5e92eddf8ffb0887ba01b52ab64b2">&#9670;&nbsp;</a></span>BIG_512_56_imul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_imul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, product of other two </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">i</td><td>small integer </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab8efbc4513b62ba29acb31422274031a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab8efbc4513b62ba29acb31422274031a">&#9670;&nbsp;</a></span>BIG_512_56_inc()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_inc </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be incremented </td></tr>
<tr><td class="paramname">i</td><td>integer </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa876a900676e1cc70dcd423b94b0d53e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa876a900676e1cc70dcd423b94b0d53e">&#9670;&nbsp;</a></span>BIG_512_56_invmod2m()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_invmod2m </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be inverted </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa53606a6b41f19e07fc7107e0e584cfb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa53606a6b41f19e07fc7107e0e584cfb">&#9670;&nbsp;</a></span>BIG_512_56_invmodp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_invmodp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Modular Inversion - This is slow. Uses binary method. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit = 1/y mod n </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3340dedd669f14005a5fd1a8cb8034d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3340dedd669f14005a5fd1a8cb8034d3">&#9670;&nbsp;</a></span>BIG_512_56_isunity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_56_isunity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a BIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if one, else returns 0 </dd></dl>
</div>
</div>
<a id="a6c03cc064c9712a767314119a679973d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c03cc064c9712a767314119a679973d">&#9670;&nbsp;</a></span>BIG_512_56_iszilch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_56_iszilch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a BIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if zero, else returns 0 </dd></dl>
</div>
</div>
<a id="ac5f5b53f95182fcca945f2beb0b813fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5f5b53f95182fcca945f2beb0b813fa">&#9670;&nbsp;</a></span>BIG_512_56_jacobi()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_56_jacobi </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Jacobi symbol, -1,0 or 1 </dd></dl>
</div>
</div>
<a id="a5f96e6eb608a1bf5c8c74e7bf0414652"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f96e6eb608a1bf5c8c74e7bf0414652">&#9670;&nbsp;</a></span>BIG_512_56_lastbits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_56_lastbits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">n</td><td>number of bits to return. Assumed to be less than BASEBITS. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>least significant n bits as an integer </dd></dl>
</div>
</div>
<a id="a33dada601f88ef9ac0d4cf3af7898eaf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33dada601f88ef9ac0d4cf3af7898eaf">&#9670;&nbsp;</a></span>BIG_512_56_mod()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_mod </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Slow but rarely used </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be reduced mod n </td></tr>
<tr><td class="paramname">n</td><td>The modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a24123faaf65ca0139f2f69c86f96a5ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24123faaf65ca0139f2f69c86f96a5ed">&#9670;&nbsp;</a></span>BIG_512_56_mod2m()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_mod2m </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>m</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Truncation </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on reduced mod 2^m </td></tr>
<tr><td class="paramname">m</td><td>new truncated size </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a133822f592e434ef3d90b43b15bd2b33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a133822f592e434ef3d90b43b15bd2b33">&#9670;&nbsp;</a></span>BIG_512_56_moddiv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_moddiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Slow method for modular division </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit = y/z mod n </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">z</td><td>BIG number </td></tr>
<tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a32953ffd99aa78f11058d40372671f51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a32953ffd99aa78f11058d40372671f51">&#9670;&nbsp;</a></span>BIG_512_56_modmul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_modmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>brief return NAF (Non-Adjacent-Form) value as +/- 1, 3 or 5, inputs must be normalised</p>
<p>Given x and 3*x extracts NAF value from given bit position, and returns number of bits processed, and number of trailing zeros detected if any param x BIG number param x3 BIG number, three times x param i bit position param nbs pointer to integer returning number of bits processed param nzs pointer to integer returning number of trailing 0s return + or - 1, 3 or 5Slow method for modular multiplication </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit = y*z mod n </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">z</td><td>BIG number </td></tr>
<tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="af80c816796a26a0a58c40fabb8421658"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af80c816796a26a0a58c40fabb8421658">&#9670;&nbsp;</a></span>BIG_512_56_modneg()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_modneg </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Modular negation </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit = -y mod n </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac14ac6d9e1586dc7659fac77ae82be8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac14ac6d9e1586dc7659fac77ae82be8e">&#9670;&nbsp;</a></span>BIG_512_56_modsqr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_modsqr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Slow method for modular squaring </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit = y^2 mod n </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a191d00670fdaab6392a9358dbb4255ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a191d00670fdaab6392a9358dbb4255ce">&#9670;&nbsp;</a></span>BIG_512_56_monty()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_monty </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>md</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td>
<td class="paramname"><em>MC</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>d</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">a</td><td>BIG number, reduction of a BIG </td></tr>
<tr><td class="paramname">md</td><td>BIG number, the modulus </td></tr>
<tr><td class="paramname">MC</td><td>the Montgomery Constant </td></tr>
<tr><td class="paramname">d</td><td>DBIG number to be reduced </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0bcfee35eb9d3689fcf2faf09aee9c2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0bcfee35eb9d3689fcf2faf09aee9c2f">&#9670;&nbsp;</a></span>BIG_512_56_mul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_mul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number, product of other two </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">z</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7f2f293f6815e445635ae8938e425440"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f2f293f6815e445635ae8938e425440">&#9670;&nbsp;</a></span>BIG_512_56_nbits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_56_nbits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bits in x </dd></dl>
</div>
</div>
<a id="a86e77134248181c82ba9d8761b7915df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a86e77134248181c82ba9d8761b7915df">&#9670;&nbsp;</a></span>BIG_512_56_norm()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_512_56_norm </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>All digits of the input BIG are reduced mod 2^BASEBITS </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be normalised </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9bf53b6ef7e92d4a508ecda646df4596"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9bf53b6ef7e92d4a508ecda646df4596">&#9670;&nbsp;</a></span>BIG_512_56_one()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_one </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be set to one. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6be59bc8cf6a72b0011612ae21746adc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6be59bc8cf6a72b0011612ae21746adc">&#9670;&nbsp;</a></span>BIG_512_56_or()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_or </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, or of other two </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">z</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="afb4bad064aaa2c63223a2b1e36cc9df2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb4bad064aaa2c63223a2b1e36cc9df2">&#9670;&nbsp;</a></span>BIG_512_56_output()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_output </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="afbcf13df48a0bd71d13b06e4c33e9960"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbcf13df48a0bd71d13b06e4c33e9960">&#9670;&nbsp;</a></span>BIG_512_56_parity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_56_parity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 or 1 </dd></dl>
</div>
</div>
<a id="a55cbbd8bea4ce42cbba3b2b7586ba882"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55cbbd8bea4ce42cbba3b2b7586ba882">&#9670;&nbsp;</a></span>BIG_512_56_pmul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_512_56_pmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, product of other two </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">i</td><td>small integer </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Overflowing bits </dd></dl>
</div>
</div>
<a id="a3d1bcc77b27d0d4c6c5dba8fb1855aac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d1bcc77b27d0d4c6c5dba8fb1855aac">&#9670;&nbsp;</a></span>BIG_512_56_pxmul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_pxmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number, product of other two </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">i</td><td>small integer </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac005ca9468820c2cbc172cf2152142c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac005ca9468820c2cbc172cf2152142c9">&#9670;&nbsp;</a></span>BIG_512_56_random()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_random </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structcsprng.html">csprng</a> *&#160;</td>
<td class="paramname"><em>r</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Assumes that the random number generator has been suitably initialised </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit a random number </td></tr>
<tr><td class="paramname">r</td><td>A pointer to a Cryptographically Secure Random Number Generator </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2af9e5422a6d117d35064934b4d8d89a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2af9e5422a6d117d35064934b4d8d89a">&#9670;&nbsp;</a></span>BIG_512_56_randomnum()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_randomnum </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>n</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structcsprng.html">csprng</a> *&#160;</td>
<td class="paramname"><em>r</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Assumes that the random number generator has been suitably initialised </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit a random number </td></tr>
<tr><td class="paramname">n</td><td>The modulus </td></tr>
<tr><td class="paramname">r</td><td>A pointer to a Cryptographically Secure Random Number Generator </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9c96763abe22b98036f1c0745dffedc9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c96763abe22b98036f1c0745dffedc9">&#9670;&nbsp;</a></span>BIG_512_56_rawoutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_rawoutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad74df885fe405c2ed3ed82461ef10ebd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad74df885fe405c2ed3ed82461ef10ebd">&#9670;&nbsp;</a></span>BIG_512_56_rcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_rcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">y</td><td>BIG number in ROM </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a81d0f439051b63c336184397352b94a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81d0f439051b63c336184397352b94a3">&#9670;&nbsp;</a></span>BIG_512_56_sdcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_sdcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">y</td><td>DBIG number to be copied </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac4a9c8041b508eb6f2ec08901f99babd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4a9c8041b508eb6f2ec08901f99babd">&#9670;&nbsp;</a></span>BIG_512_56_sdiv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_sdiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Slow but rarely used </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be divided by n </td></tr>
<tr><td class="paramname">n</td><td>The Divisor </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a053ee788ebe4f31fefb26cc27bbf50e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a053ee788ebe4f31fefb26cc27bbf50e3">&#9670;&nbsp;</a></span>BIG_512_56_sducopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_sducopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">y</td><td>DBIG number to be copied </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a740033e4e3e32da7c77eba04d972ba08"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a740033e4e3e32da7c77eba04d972ba08">&#9670;&nbsp;</a></span>BIG_512_56_shl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_shl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be shifted </td></tr>
<tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aadc551ab1e69a4c426ba46e39e1e829f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadc551ab1e69a4c426ba46e39e1e829f">&#9670;&nbsp;</a></span>BIG_512_56_shr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_shr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be shifted </td></tr>
<tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8f3bfcf5947e7c9854b36ad87a0b58d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f3bfcf5947e7c9854b36ad87a0b58d0">&#9670;&nbsp;</a></span>BIG_512_56_smul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_smul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Note that the product must fit into a BIG, and x must be distinct from y and z </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, product of other two </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">z</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad468b89e9dbebced678a451cacfe117e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad468b89e9dbebced678a451cacfe117e">&#9670;&nbsp;</a></span>BIG_512_56_split()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_512_56_split </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Internal function. The value of s must be approximately in the middle of the DBIG. Typically used to extract z mod 2^MODBITS and z/2^MODBITS </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, top half of z </td></tr>
<tr><td class="paramname">y</td><td>BIG number, bottom half of z </td></tr>
<tr><td class="paramname">z</td><td>DBIG number to be split in two. </td></tr>
<tr><td class="paramname">s</td><td>Bit position at which to split </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>carry-out from top half </dd></dl>
</div>
</div>
<a id="a538a695940b21f3ef8396f146fbf6fb6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a538a695940b21f3ef8396f146fbf6fb6">&#9670;&nbsp;</a></span>BIG_512_56_sqr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_sqr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number, square of a BIG </td></tr>
<tr><td class="paramname">y</td><td>BIG number to be squared </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7153d530dcfb862db535d5476db898c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7153d530dcfb862db535d5476db898c5">&#9670;&nbsp;</a></span>BIG_512_56_ssn()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_512_56_ssn </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>m</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">r</td><td>BIG number normalised output </td></tr>
<tr><td class="paramname">a</td><td>BIG number to be subtracted from </td></tr>
<tr><td class="paramname">m</td><td>BIG number to be shifted and subtracted </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>sign of r </dd></dl>
</div>
</div>
<a id="ace7ad7e061735c9b856058229ef6564f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace7ad7e061735c9b856058229ef6564f">&#9670;&nbsp;</a></span>BIG_512_56_sub()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_sub </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, difference of other two - output not normalised </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">z</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6d59711b062c1ce4edcbe9f2a85a6dc4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d59711b062c1ce4edcbe9f2a85a6dc4">&#9670;&nbsp;</a></span>BIG_512_56_toBytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_toBytes </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">a</td><td>byte array </td></tr>
<tr><td class="paramname">x</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8ccc256e5b5b30959bef0d1248c887eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ccc256e5b5b30959bef0d1248c887eb">&#9670;&nbsp;</a></span>BIG_512_56_zero()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_512_56_zero </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be set to zero </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>