blob: cab12439b6a71315e2e0149aab67709dc3852a67 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>AMCL: big_384_28.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">AMCL
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_df7310d1a865926cc859bcfb1880083f.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">big_384_28.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>BIG Header File.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br />
<code>#include &lt;stdlib.h&gt;</code><br />
<code>#include &lt;inttypes.h&gt;</code><br />
<code>#include &quot;<a class="el" href="arch_8h_source.html">arch.h</a>&quot;</code><br />
<code>#include &quot;amcl.h&quot;</code><br />
<code>#include &quot;<a class="el" href="config__big__384__28_8h_source.html">config_big_384_28.h</a>&quot;</code><br />
</div>
<p><a href="big__384__28_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a8f05d26a410dd97379ac2651922a6449"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a8f05d26a410dd97379ac2651922a6449">BIGBITS_384_28</a>&#160;&#160;&#160;(8*<a class="el" href="config__big__384__28_8h.html#ac42deaa112782c0164c1da093fd09189">MODBYTES_384_28</a>)</td></tr>
<tr class="separator:a8f05d26a410dd97379ac2651922a6449"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a439daca6a2d884b15798c1e6d9a6ba4e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a439daca6a2d884b15798c1e6d9a6ba4e">NLEN_384_28</a>&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__384__28_8h.html#ac42deaa112782c0164c1da093fd09189">MODBYTES_384_28</a>-1)/<a class="el" href="config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">BASEBITS_384_28</a>))</td></tr>
<tr class="separator:a439daca6a2d884b15798c1e6d9a6ba4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ecc6d852c9a8295de789234094b1dce"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a8ecc6d852c9a8295de789234094b1dce">DNLEN_384_28</a>&#160;&#160;&#160;2*<a class="el" href="big__384__28_8h.html#a439daca6a2d884b15798c1e6d9a6ba4e">NLEN_384_28</a></td></tr>
<tr class="separator:a8ecc6d852c9a8295de789234094b1dce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84665e78dbc0947688151a4ac8dc9644"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a84665e78dbc0947688151a4ac8dc9644">BMASK_384_28</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">BASEBITS_384_28</a>)-1)</td></tr>
<tr class="separator:a84665e78dbc0947688151a4ac8dc9644"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fd2df8afe92c49d115a5fc91d4deb59"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a8fd2df8afe92c49d115a5fc91d4deb59">NEXCESS_384_28</a>&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">BASEBITS_384_28</a>-1))</td></tr>
<tr class="separator:a8fd2df8afe92c49d115a5fc91d4deb59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7add637ce6e6a22f580a621e454e2f1b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a7add637ce6e6a22f580a621e454e2f1b">HBITS_384_28</a>&#160;&#160;&#160;(<a class="el" href="config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">BASEBITS_384_28</a>/2)</td></tr>
<tr class="separator:a7add637ce6e6a22f580a621e454e2f1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f236ead1b11b6a59048301ebad560fe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a4f236ead1b11b6a59048301ebad560fe">HMASK_384_28</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__384__28_8h.html#a7add637ce6e6a22f580a621e454e2f1b">HBITS_384_28</a>)-1)</td></tr>
<tr class="separator:a4f236ead1b11b6a59048301ebad560fe"><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:a16ee35f89cb5f1ddd2dd23ca3060b71e"><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__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>[<a class="el" href="big__384__28_8h.html#a439daca6a2d884b15798c1e6d9a6ba4e">NLEN_384_28</a>]</td></tr>
<tr class="separator:a16ee35f89cb5f1ddd2dd23ca3060b71e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee6f1279d5b892bfe71c18395de4c91b"><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__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>[<a class="el" href="big__384__28_8h.html#a8ecc6d852c9a8295de789234094b1dce">DNLEN_384_28</a>]</td></tr>
<tr class="separator:aee6f1279d5b892bfe71c18395de4c91b"><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:aaae155a2c272e54cb6debaf4c22c752c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#aaae155a2c272e54cb6debaf4c22c752c">BIG_384_28_iszilch</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
<tr class="memdesc:aaae155a2c272e54cb6debaf4c22c752c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to zero. <a href="#aaae155a2c272e54cb6debaf4c22c752c">More...</a><br /></td></tr>
<tr class="separator:aaae155a2c272e54cb6debaf4c22c752c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58341593cdb187626cb9ed9fc255c390"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a58341593cdb187626cb9ed9fc255c390">BIG_384_28_isunity</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
<tr class="memdesc:a58341593cdb187626cb9ed9fc255c390"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to one. <a href="#a58341593cdb187626cb9ed9fc255c390">More...</a><br /></td></tr>
<tr class="separator:a58341593cdb187626cb9ed9fc255c390"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac824c238b2ad967cc52836a888ce5ec7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ac824c238b2ad967cc52836a888ce5ec7">BIG_384_28_diszilch</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x)</td></tr>
<tr class="memdesc:ac824c238b2ad967cc52836a888ce5ec7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for DBIG equal to zero. <a href="#ac824c238b2ad967cc52836a888ce5ec7">More...</a><br /></td></tr>
<tr class="separator:ac824c238b2ad967cc52836a888ce5ec7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbc6201e5eae7949f8fdaca44dfc95b6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#afbc6201e5eae7949f8fdaca44dfc95b6">BIG_384_28_output</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
<tr class="memdesc:afbc6201e5eae7949f8fdaca44dfc95b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console. <a href="#afbc6201e5eae7949f8fdaca44dfc95b6">More...</a><br /></td></tr>
<tr class="separator:afbc6201e5eae7949f8fdaca44dfc95b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4487f671a15c0626f311c012e20c9c2b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a4487f671a15c0626f311c012e20c9c2b">BIG_384_28_rawoutput</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
<tr class="memdesc:a4487f671a15c0626f311c012e20c9c2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console in raw form (for debugging) <a href="#a4487f671a15c0626f311c012e20c9c2b">More...</a><br /></td></tr>
<tr class="separator:a4487f671a15c0626f311c012e20c9c2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09cb7359e8678a5ac2e7fc3e332eb29c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a09cb7359e8678a5ac2e7fc3e332eb29c">BIG_384_28_cswap</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, int s)</td></tr>
<tr class="memdesc:a09cb7359e8678a5ac2e7fc3e332eb29c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional constant time swap of two BIG numbers. <a href="#a09cb7359e8678a5ac2e7fc3e332eb29c">More...</a><br /></td></tr>
<tr class="separator:a09cb7359e8678a5ac2e7fc3e332eb29c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c2f771cf7b5dd17f8e1f05da8bf97a1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a7c2f771cf7b5dd17f8e1f05da8bf97a1">BIG_384_28_cmove</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, int s)</td></tr>
<tr class="memdesc:a7c2f771cf7b5dd17f8e1f05da8bf97a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of BIG number. <a href="#a7c2f771cf7b5dd17f8e1f05da8bf97a1">More...</a><br /></td></tr>
<tr class="separator:a7c2f771cf7b5dd17f8e1f05da8bf97a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae71455123481ffaa1c7e08f81d155ff9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ae71455123481ffaa1c7e08f81d155ff9">BIG_384_28_dcmove</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, int s)</td></tr>
<tr class="memdesc:ae71455123481ffaa1c7e08f81d155ff9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of DBIG number. <a href="#ae71455123481ffaa1c7e08f81d155ff9">More...</a><br /></td></tr>
<tr class="separator:ae71455123481ffaa1c7e08f81d155ff9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ab047839afd602bbba5fa530f48a1f9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a3ab047839afd602bbba5fa530f48a1f9">BIG_384_28_toBytes</a> (char *a, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
<tr class="memdesc:a3ab047839afd602bbba5fa530f48a1f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from BIG number to byte array. <a href="#a3ab047839afd602bbba5fa530f48a1f9">More...</a><br /></td></tr>
<tr class="separator:a3ab047839afd602bbba5fa530f48a1f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51b34c564e69a54e167e4327dc712219"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a51b34c564e69a54e167e4327dc712219">BIG_384_28_fromBytes</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, char *a)</td></tr>
<tr class="memdesc:a51b34c564e69a54e167e4327dc712219"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array. <a href="#a51b34c564e69a54e167e4327dc712219">More...</a><br /></td></tr>
<tr class="separator:a51b34c564e69a54e167e4327dc712219"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e2586315194fec22ccc7a45e62d46ad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a9e2586315194fec22ccc7a45e62d46ad">BIG_384_28_fromBytesLen</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, char *a, int s)</td></tr>
<tr class="memdesc:a9e2586315194fec22ccc7a45e62d46ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array of given length. <a href="#a9e2586315194fec22ccc7a45e62d46ad">More...</a><br /></td></tr>
<tr class="separator:a9e2586315194fec22ccc7a45e62d46ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42203ae1493bb5e1f84e2f93b44f543f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a42203ae1493bb5e1f84e2f93b44f543f">BIG_384_28_dfromBytesLen</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, char *a, int s)</td></tr>
<tr class="memdesc:a42203ae1493bb5e1f84e2f93b44f543f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to DBIG number from byte array of given length. <a href="#a42203ae1493bb5e1f84e2f93b44f543f">More...</a><br /></td></tr>
<tr class="separator:a42203ae1493bb5e1f84e2f93b44f543f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a516ac3f0b90c3eae0d5021c8616b7368"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a516ac3f0b90c3eae0d5021c8616b7368">BIG_384_28_doutput</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x)</td></tr>
<tr class="memdesc:a516ac3f0b90c3eae0d5021c8616b7368"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console. <a href="#a516ac3f0b90c3eae0d5021c8616b7368">More...</a><br /></td></tr>
<tr class="separator:a516ac3f0b90c3eae0d5021c8616b7368"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afacc56ed2d110adb76534f3835129f70"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#afacc56ed2d110adb76534f3835129f70">BIG_384_28_drawoutput</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x)</td></tr>
<tr class="memdesc:afacc56ed2d110adb76534f3835129f70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console. <a href="#afacc56ed2d110adb76534f3835129f70">More...</a><br /></td></tr>
<tr class="separator:afacc56ed2d110adb76534f3835129f70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1375dc3069a5b40e2a4721bc6c34ca7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#af1375dc3069a5b40e2a4721bc6c34ca7">BIG_384_28_rcopy</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, const <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y)</td></tr>
<tr class="memdesc:af1375dc3069a5b40e2a4721bc6c34ca7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG from Read-Only Memory to a BIG. <a href="#af1375dc3069a5b40e2a4721bc6c34ca7">More...</a><br /></td></tr>
<tr class="separator:af1375dc3069a5b40e2a4721bc6c34ca7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63d3817c3c3bce6ac1c39c8b16fac06f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a63d3817c3c3bce6ac1c39c8b16fac06f">BIG_384_28_copy</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y)</td></tr>
<tr class="memdesc:a63d3817c3c3bce6ac1c39c8b16fac06f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to another BIG. <a href="#a63d3817c3c3bce6ac1c39c8b16fac06f">More...</a><br /></td></tr>
<tr class="separator:a63d3817c3c3bce6ac1c39c8b16fac06f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5a69694470155f14f5bee3c62b773d6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ab5a69694470155f14f5bee3c62b773d6">BIG_384_28_dcopy</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> y)</td></tr>
<tr class="memdesc:ab5a69694470155f14f5bee3c62b773d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy DBIG to another DBIG. <a href="#ab5a69694470155f14f5bee3c62b773d6">More...</a><br /></td></tr>
<tr class="separator:ab5a69694470155f14f5bee3c62b773d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a726364369270a9e29464eeb9aee469"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a1a726364369270a9e29464eeb9aee469">BIG_384_28_dsucopy</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y)</td></tr>
<tr class="memdesc:a1a726364369270a9e29464eeb9aee469"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to upper half of DBIG. <a href="#a1a726364369270a9e29464eeb9aee469">More...</a><br /></td></tr>
<tr class="separator:a1a726364369270a9e29464eeb9aee469"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b5cd02ecfebe5b4d0f6ac1edac6c52c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a9b5cd02ecfebe5b4d0f6ac1edac6c52c">BIG_384_28_dscopy</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y)</td></tr>
<tr class="memdesc:a9b5cd02ecfebe5b4d0f6ac1edac6c52c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to lower half of DBIG. <a href="#a9b5cd02ecfebe5b4d0f6ac1edac6c52c">More...</a><br /></td></tr>
<tr class="separator:a9b5cd02ecfebe5b4d0f6ac1edac6c52c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52395d29456061e275f180bcbc0fa9d9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a52395d29456061e275f180bcbc0fa9d9">BIG_384_28_sdcopy</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> y)</td></tr>
<tr class="memdesc:a52395d29456061e275f180bcbc0fa9d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy lower half of DBIG to a BIG. <a href="#a52395d29456061e275f180bcbc0fa9d9">More...</a><br /></td></tr>
<tr class="separator:a52395d29456061e275f180bcbc0fa9d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a618bf7d7e2be346517e7fbed186f46e8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a618bf7d7e2be346517e7fbed186f46e8">BIG_384_28_sducopy</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> y)</td></tr>
<tr class="memdesc:a618bf7d7e2be346517e7fbed186f46e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy upper half of DBIG to a BIG. <a href="#a618bf7d7e2be346517e7fbed186f46e8">More...</a><br /></td></tr>
<tr class="separator:a618bf7d7e2be346517e7fbed186f46e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae43efdb25a16be101f8156b2047d7e9c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ae43efdb25a16be101f8156b2047d7e9c">BIG_384_28_zero</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
<tr class="memdesc:ae43efdb25a16be101f8156b2047d7e9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to zero. <a href="#ae43efdb25a16be101f8156b2047d7e9c">More...</a><br /></td></tr>
<tr class="separator:ae43efdb25a16be101f8156b2047d7e9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a238e27e5b205b6181f5c718d12c26e00"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a238e27e5b205b6181f5c718d12c26e00">BIG_384_28_dzero</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x)</td></tr>
<tr class="memdesc:a238e27e5b205b6181f5c718d12c26e00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to zero. <a href="#a238e27e5b205b6181f5c718d12c26e00">More...</a><br /></td></tr>
<tr class="separator:a238e27e5b205b6181f5c718d12c26e00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1d79b56107d0bfe073c4dbec9edb424"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ab1d79b56107d0bfe073c4dbec9edb424">BIG_384_28_one</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
<tr class="memdesc:ab1d79b56107d0bfe073c4dbec9edb424"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to one (unity) <a href="#ab1d79b56107d0bfe073c4dbec9edb424">More...</a><br /></td></tr>
<tr class="separator:ab1d79b56107d0bfe073c4dbec9edb424"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fe701290d9d38d84514372f424187c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a7fe701290d9d38d84514372f424187c5">BIG_384_28_invmod2m</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
<tr class="memdesc:a7fe701290d9d38d84514372f424187c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to inverse mod 2^256. <a href="#a7fe701290d9d38d84514372f424187c5">More...</a><br /></td></tr>
<tr class="separator:a7fe701290d9d38d84514372f424187c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a9f21e199c8aa375f10a620421382e6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a4a9f21e199c8aa375f10a620421382e6">BIG_384_28_add</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> z)</td></tr>
<tr class="memdesc:a4a9f21e199c8aa375f10a620421382e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to sum of two BIGs - output not normalised. <a href="#a4a9f21e199c8aa375f10a620421382e6">More...</a><br /></td></tr>
<tr class="separator:a4a9f21e199c8aa375f10a620421382e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bac6adf71cf485e03e34f2900c0e00c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a2bac6adf71cf485e03e34f2900c0e00c">BIG_384_28_or</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> z)</td></tr>
<tr class="memdesc:a2bac6adf71cf485e03e34f2900c0e00c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to logical or of two BIGs - output normalised. <a href="#a2bac6adf71cf485e03e34f2900c0e00c">More...</a><br /></td></tr>
<tr class="separator:a2bac6adf71cf485e03e34f2900c0e00c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c7488a309fc2c3ae069dfffc9d7c4c0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a5c7488a309fc2c3ae069dfffc9d7c4c0">BIG_384_28_inc</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, int i)</td></tr>
<tr class="memdesc:a5c7488a309fc2c3ae069dfffc9d7c4c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment BIG by a small integer - output not normalised. <a href="#a5c7488a309fc2c3ae069dfffc9d7c4c0">More...</a><br /></td></tr>
<tr class="separator:a5c7488a309fc2c3ae069dfffc9d7c4c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d20d009e9edb553f18c4c65d5ded998"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a5d20d009e9edb553f18c4c65d5ded998">BIG_384_28_sub</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> z)</td></tr>
<tr class="memdesc:a5d20d009e9edb553f18c4c65d5ded998"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to difference of two BIGs. <a href="#a5d20d009e9edb553f18c4c65d5ded998">More...</a><br /></td></tr>
<tr class="separator:a5d20d009e9edb553f18c4c65d5ded998"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a228697f5aeef97b347d5bd095cbed9bf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a228697f5aeef97b347d5bd095cbed9bf">BIG_384_28_dec</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, int i)</td></tr>
<tr class="memdesc:a228697f5aeef97b347d5bd095cbed9bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement BIG by a small integer - output not normalised. <a href="#a228697f5aeef97b347d5bd095cbed9bf">More...</a><br /></td></tr>
<tr class="separator:a228697f5aeef97b347d5bd095cbed9bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac45376eaec2c8050f1375202e0976534"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ac45376eaec2c8050f1375202e0976534">BIG_384_28_dadd</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> z)</td></tr>
<tr class="memdesc:ac45376eaec2c8050f1375202e0976534"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to sum of two DBIGs. <a href="#ac45376eaec2c8050f1375202e0976534">More...</a><br /></td></tr>
<tr class="separator:ac45376eaec2c8050f1375202e0976534"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cb202b0eb07a78d009b729089742fea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a4cb202b0eb07a78d009b729089742fea">BIG_384_28_dsub</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> z)</td></tr>
<tr class="memdesc:a4cb202b0eb07a78d009b729089742fea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to difference of two DBIGs. <a href="#a4cb202b0eb07a78d009b729089742fea">More...</a><br /></td></tr>
<tr class="separator:a4cb202b0eb07a78d009b729089742fea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3da153b25d066347093f0dbbf14eb15d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a3da153b25d066347093f0dbbf14eb15d">BIG_384_28_imul</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, int i)</td></tr>
<tr class="memdesc:a3da153b25d066347093f0dbbf14eb15d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by a small integer - output not normalised. <a href="#a3da153b25d066347093f0dbbf14eb15d">More...</a><br /></td></tr>
<tr class="separator:a3da153b25d066347093f0dbbf14eb15d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad63df8e11b6f1cfeb7e9140cab9d561e"><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__384__28_8h.html#ad63df8e11b6f1cfeb7e9140cab9d561e">BIG_384_28_pmul</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, int i)</td></tr>
<tr class="memdesc:ad63df8e11b6f1cfeb7e9140cab9d561e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by not-so-small small integer - output normalised. <a href="#ad63df8e11b6f1cfeb7e9140cab9d561e">More...</a><br /></td></tr>
<tr class="separator:ad63df8e11b6f1cfeb7e9140cab9d561e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac436ebf172cfe996920945b3f1b7cb4a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ac436ebf172cfe996920945b3f1b7cb4a">BIG_384_28_div3</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
<tr class="memdesc:ac436ebf172cfe996920945b3f1b7cb4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide BIG by 3 - output normalised. <a href="#ac436ebf172cfe996920945b3f1b7cb4a">More...</a><br /></td></tr>
<tr class="separator:ac436ebf172cfe996920945b3f1b7cb4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47ca896b3c4555f90fd10841c9f87d03"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a47ca896b3c4555f90fd10841c9f87d03">BIG_384_28_pxmul</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, int i)</td></tr>
<tr class="memdesc:a47ca896b3c4555f90fd10841c9f87d03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised. <a href="#a47ca896b3c4555f90fd10841c9f87d03">More...</a><br /></td></tr>
<tr class="separator:a47ca896b3c4555f90fd10841c9f87d03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6c217fef49e386b85b023fe05f80723"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ac6c217fef49e386b85b023fe05f80723">BIG_384_28_mul</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> z)</td></tr>
<tr class="memdesc:ac6c217fef49e386b85b023fe05f80723"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised. <a href="#ac6c217fef49e386b85b023fe05f80723">More...</a><br /></td></tr>
<tr class="separator:ac6c217fef49e386b85b023fe05f80723"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc8507bac205a5f0ccbac18de7b68ca1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#adc8507bac205a5f0ccbac18de7b68ca1">BIG_384_28_smul</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> z)</td></tr>
<tr class="memdesc:adc8507bac205a5f0ccbac18de7b68ca1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised. <a href="#adc8507bac205a5f0ccbac18de7b68ca1">More...</a><br /></td></tr>
<tr class="separator:adc8507bac205a5f0ccbac18de7b68ca1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b9f6d6a15963d0ca607e5143f726651"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a0b9f6d6a15963d0ca607e5143f726651">BIG_384_28_sqr</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y)</td></tr>
<tr class="memdesc:a0b9f6d6a15963d0ca607e5143f726651"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square BIG resulting in a DBIG - input normalised and output normalised. <a href="#a0b9f6d6a15963d0ca607e5143f726651">More...</a><br /></td></tr>
<tr class="separator:a0b9f6d6a15963d0ca607e5143f726651"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a847b33bcb40d3241e31b6ee96bd8f4c6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a847b33bcb40d3241e31b6ee96bd8f4c6">BIG_384_28_monty</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> a, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> md, <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> d)</td></tr>
<tr class="memdesc:a847b33bcb40d3241e31b6ee96bd8f4c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised. <a href="#a847b33bcb40d3241e31b6ee96bd8f4c6">More...</a><br /></td></tr>
<tr class="separator:a847b33bcb40d3241e31b6ee96bd8f4c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade8e4549ea507d3e683fe81d4d400f71"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ade8e4549ea507d3e683fe81d4d400f71">BIG_384_28_shl</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, int s)</td></tr>
<tr class="memdesc:ade8e4549ea507d3e683fe81d4d400f71"><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="#ade8e4549ea507d3e683fe81d4d400f71">More...</a><br /></td></tr>
<tr class="separator:ade8e4549ea507d3e683fe81d4d400f71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9ec1f2757cac24535f8bdef1a7a39e8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ad9ec1f2757cac24535f8bdef1a7a39e8">BIG_384_28_fshl</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, int s)</td></tr>
<tr class="memdesc:ad9ec1f2757cac24535f8bdef1a7a39e8"><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="#ad9ec1f2757cac24535f8bdef1a7a39e8">More...</a><br /></td></tr>
<tr class="separator:ad9ec1f2757cac24535f8bdef1a7a39e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a513d5bf6c2e56d438f0474a3cb069a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a8a513d5bf6c2e56d438f0474a3cb069a">BIG_384_28_dshl</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, int s)</td></tr>
<tr class="memdesc:a8a513d5bf6c2e56d438f0474a3cb069a"><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="#a8a513d5bf6c2e56d438f0474a3cb069a">More...</a><br /></td></tr>
<tr class="separator:a8a513d5bf6c2e56d438f0474a3cb069a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d145f76d6d0b8823761f4ca6370c637"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a0d145f76d6d0b8823761f4ca6370c637">BIG_384_28_shr</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, int s)</td></tr>
<tr class="memdesc:a0d145f76d6d0b8823761f4ca6370c637"><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="#a0d145f76d6d0b8823761f4ca6370c637">More...</a><br /></td></tr>
<tr class="separator:a0d145f76d6d0b8823761f4ca6370c637"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae24758a390284bae57bd3bc25543309d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ae24758a390284bae57bd3bc25543309d">BIG_384_28_ssn</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> r, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> a, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> m)</td></tr>
<tr class="memdesc:ae24758a390284bae57bd3bc25543309d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast time-critical combined shift by 1 bit, subtract and normalise. <a href="#ae24758a390284bae57bd3bc25543309d">More...</a><br /></td></tr>
<tr class="separator:ae24758a390284bae57bd3bc25543309d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a916fbbcf68123a8a3ed28f427dc34784"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a916fbbcf68123a8a3ed28f427dc34784">BIG_384_28_fshr</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, int s)</td></tr>
<tr class="memdesc:a916fbbcf68123a8a3ed28f427dc34784"><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="#a916fbbcf68123a8a3ed28f427dc34784">More...</a><br /></td></tr>
<tr class="separator:a916fbbcf68123a8a3ed28f427dc34784"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa77897ed052e7b53cf745c275bf7e31"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#afa77897ed052e7b53cf745c275bf7e31">BIG_384_28_dshr</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, int s)</td></tr>
<tr class="memdesc:afa77897ed052e7b53cf745c275bf7e31"><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="#afa77897ed052e7b53cf745c275bf7e31">More...</a><br /></td></tr>
<tr class="separator:afa77897ed052e7b53cf745c275bf7e31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33f7b0063f5af0e6c58510966beac8f8"><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__384__28_8h.html#a33f7b0063f5af0e6c58510966beac8f8">BIG_384_28_split</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> z, int s)</td></tr>
<tr class="memdesc:a33f7b0063f5af0e6c58510966beac8f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a DBIG into two BIGs - input must be normalised, outputs normalised. <a href="#a33f7b0063f5af0e6c58510966beac8f8">More...</a><br /></td></tr>
<tr class="separator:a33f7b0063f5af0e6c58510966beac8f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ad8fd01de1709b61612fcc279274600"><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__384__28_8h.html#a4ad8fd01de1709b61612fcc279274600">BIG_384_28_norm</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
<tr class="memdesc:a4ad8fd01de1709b61612fcc279274600"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a BIG number - output normalised. <a href="#a4ad8fd01de1709b61612fcc279274600">More...</a><br /></td></tr>
<tr class="separator:a4ad8fd01de1709b61612fcc279274600"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef2b744cef6fe1696b79b2aa3fed8fb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#aef2b744cef6fe1696b79b2aa3fed8fb2">BIG_384_28_dnorm</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x)</td></tr>
<tr class="memdesc:aef2b744cef6fe1696b79b2aa3fed8fb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a DBIG number - output normalised. <a href="#aef2b744cef6fe1696b79b2aa3fed8fb2">More...</a><br /></td></tr>
<tr class="separator:aef2b744cef6fe1696b79b2aa3fed8fb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2d828ed693c2267db21030a7b8aa65f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#aa2d828ed693c2267db21030a7b8aa65f">BIG_384_28_comp</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y)</td></tr>
<tr class="memdesc:aa2d828ed693c2267db21030a7b8aa65f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two BIG numbers. Inputs must be normalised externally. <a href="#aa2d828ed693c2267db21030a7b8aa65f">More...</a><br /></td></tr>
<tr class="separator:aa2d828ed693c2267db21030a7b8aa65f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65f2020e457f2c9d9b98cd595032a962"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a65f2020e457f2c9d9b98cd595032a962">BIG_384_28_dcomp</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> y)</td></tr>
<tr class="memdesc:a65f2020e457f2c9d9b98cd595032a962"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two DBIG numbers. Inputs must be normalised externally. <a href="#a65f2020e457f2c9d9b98cd595032a962">More...</a><br /></td></tr>
<tr class="separator:a65f2020e457f2c9d9b98cd595032a962"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c167fb2b00eccd42ce4ae9c796189e4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a5c167fb2b00eccd42ce4ae9c796189e4">BIG_384_28_nbits</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
<tr class="memdesc:a5c167fb2b00eccd42ce4ae9c796189e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a BIG - output normalised. <a href="#a5c167fb2b00eccd42ce4ae9c796189e4">More...</a><br /></td></tr>
<tr class="separator:a5c167fb2b00eccd42ce4ae9c796189e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad69eeb57746553c390c02ce7fc53fedd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ad69eeb57746553c390c02ce7fc53fedd">BIG_384_28_dnbits</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x)</td></tr>
<tr class="memdesc:ad69eeb57746553c390c02ce7fc53fedd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a DBIG - output normalised. <a href="#ad69eeb57746553c390c02ce7fc53fedd">More...</a><br /></td></tr>
<tr class="separator:ad69eeb57746553c390c02ce7fc53fedd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad08e2bf2a67f19eaab434ec546bb7ff6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ad08e2bf2a67f19eaab434ec546bb7ff6">BIG_384_28_mod</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> n)</td></tr>
<tr class="memdesc:ad08e2bf2a67f19eaab434ec546bb7ff6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce x mod n - input and output normalised. <a href="#ad08e2bf2a67f19eaab434ec546bb7ff6">More...</a><br /></td></tr>
<tr class="separator:ad08e2bf2a67f19eaab434ec546bb7ff6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15d63ef2bcc446e9d28fb3e5b6184b41"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a15d63ef2bcc446e9d28fb3e5b6184b41">BIG_384_28_sdiv</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> n)</td></tr>
<tr class="memdesc:a15d63ef2bcc446e9d28fb3e5b6184b41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide x by n - output normalised. <a href="#a15d63ef2bcc446e9d28fb3e5b6184b41">More...</a><br /></td></tr>
<tr class="separator:a15d63ef2bcc446e9d28fb3e5b6184b41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5726874f41c1bc21331297bdd12ad02"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#af5726874f41c1bc21331297bdd12ad02">BIG_384_28_dmod</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> n)</td></tr>
<tr class="memdesc:af5726874f41c1bc21331297bdd12ad02"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y mod n - output normalised <a href="#af5726874f41c1bc21331297bdd12ad02">More...</a><br /></td></tr>
<tr class="separator:af5726874f41c1bc21331297bdd12ad02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c669c1e0764711db98f4690ab4ead02"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a0c669c1e0764711db98f4690ab4ead02">BIG_384_28_ddiv</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> n)</td></tr>
<tr class="memdesc:a0c669c1e0764711db98f4690ab4ead02"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y/n - output normalised <a href="#a0c669c1e0764711db98f4690ab4ead02">More...</a><br /></td></tr>
<tr class="separator:a0c669c1e0764711db98f4690ab4ead02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff7c69eedbb24ec68e7ddf4db9acc4c4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#aff7c69eedbb24ec68e7ddf4db9acc4c4">BIG_384_28_parity</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
<tr class="memdesc:aff7c69eedbb24ec68e7ddf4db9acc4c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">return parity of BIG, that is the least significant bit <a href="#aff7c69eedbb24ec68e7ddf4db9acc4c4">More...</a><br /></td></tr>
<tr class="separator:aff7c69eedbb24ec68e7ddf4db9acc4c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1332067c6ddd966c3ee106ca9232bcd5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a1332067c6ddd966c3ee106ca9232bcd5">BIG_384_28_bit</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, int i)</td></tr>
<tr class="memdesc:a1332067c6ddd966c3ee106ca9232bcd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">return i-th of BIG <a href="#a1332067c6ddd966c3ee106ca9232bcd5">More...</a><br /></td></tr>
<tr class="separator:a1332067c6ddd966c3ee106ca9232bcd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11b73740018af049295c35189bceac13"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a11b73740018af049295c35189bceac13">BIG_384_28_lastbits</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, int n)</td></tr>
<tr class="memdesc:a11b73740018af049295c35189bceac13"><td class="mdescLeft">&#160;</td><td class="mdescRight">return least significant bits of a BIG <a href="#a11b73740018af049295c35189bceac13">More...</a><br /></td></tr>
<tr class="separator:a11b73740018af049295c35189bceac13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1668ae2de15408b596eea43adc6f9015"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a1668ae2de15408b596eea43adc6f9015">BIG_384_28_random</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
<tr class="memdesc:a1668ae2de15408b596eea43adc6f9015"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random BIG from a random number generator. <a href="#a1668ae2de15408b596eea43adc6f9015">More...</a><br /></td></tr>
<tr class="separator:a1668ae2de15408b596eea43adc6f9015"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9a29e377331b63ca78ce090e32bda20"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ae9a29e377331b63ca78ce090e32bda20">BIG_384_28_randomnum</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> n, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
<tr class="memdesc:ae9a29e377331b63ca78ce090e32bda20"><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="#ae9a29e377331b63ca78ce090e32bda20">More...</a><br /></td></tr>
<tr class="separator:ae9a29e377331b63ca78ce090e32bda20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9ca3ee5748f621f5e97876f57c3ce5c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ad9ca3ee5748f621f5e97876f57c3ce5c">BIG_384_28_modmul</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> z, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> n)</td></tr>
<tr class="memdesc:ad9ca3ee5748f621f5e97876f57c3ce5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y*z mod n. <a href="#ad9ca3ee5748f621f5e97876f57c3ce5c">More...</a><br /></td></tr>
<tr class="separator:ad9ca3ee5748f621f5e97876f57c3ce5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa752852a23b3e0c59a7b664c0e117261"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#aa752852a23b3e0c59a7b664c0e117261">BIG_384_28_moddiv</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> z, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> n)</td></tr>
<tr class="memdesc:aa752852a23b3e0c59a7b664c0e117261"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y/z mod n. <a href="#aa752852a23b3e0c59a7b664c0e117261">More...</a><br /></td></tr>
<tr class="separator:aa752852a23b3e0c59a7b664c0e117261"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dd22adb17f614887efdee1cb57d0e81"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a6dd22adb17f614887efdee1cb57d0e81">BIG_384_28_modsqr</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> n)</td></tr>
<tr class="memdesc:a6dd22adb17f614887efdee1cb57d0e81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y^2 mod n. <a href="#a6dd22adb17f614887efdee1cb57d0e81">More...</a><br /></td></tr>
<tr class="separator:a6dd22adb17f614887efdee1cb57d0e81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2db1bbccaf315a380d68b89d82867077"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a2db1bbccaf315a380d68b89d82867077">BIG_384_28_modneg</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> n)</td></tr>
<tr class="memdesc:a2db1bbccaf315a380d68b89d82867077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=-y mod n. <a href="#a2db1bbccaf315a380d68b89d82867077">More...</a><br /></td></tr>
<tr class="separator:a2db1bbccaf315a380d68b89d82867077"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2c01faa4c2e37c3b546d0a3213e2cd5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ad2c01faa4c2e37c3b546d0a3213e2cd5">BIG_384_28_jacobi</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y)</td></tr>
<tr class="memdesc:ad2c01faa4c2e37c3b546d0a3213e2cd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate jacobi Symbol (x/y) <a href="#ad2c01faa4c2e37c3b546d0a3213e2cd5">More...</a><br /></td></tr>
<tr class="separator:ad2c01faa4c2e37c3b546d0a3213e2cd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3303e969db79f8ea0c7b56a1beb2a79a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a3303e969db79f8ea0c7b56a1beb2a79a">BIG_384_28_invmodp</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> n)</td></tr>
<tr class="memdesc:a3303e969db79f8ea0c7b56a1beb2a79a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=1/y mod n. <a href="#a3303e969db79f8ea0c7b56a1beb2a79a">More...</a><br /></td></tr>
<tr class="separator:a3303e969db79f8ea0c7b56a1beb2a79a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96499245fbc0e95cea2d5620a737fda6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a96499245fbc0e95cea2d5620a737fda6">BIG_384_28_mod2m</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, int m)</td></tr>
<tr class="memdesc:a96499245fbc0e95cea2d5620a737fda6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m. <a href="#a96499245fbc0e95cea2d5620a737fda6">More...</a><br /></td></tr>
<tr class="separator:a96499245fbc0e95cea2d5620a737fda6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45c30f3703cec5ae3eb6de061012af88"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a45c30f3703cec5ae3eb6de061012af88">BIG_384_28_dmod2m</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, int m)</td></tr>
<tr class="memdesc:a45c30f3703cec5ae3eb6de061012af88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m. <a href="#a45c30f3703cec5ae3eb6de061012af88">More...</a><br /></td></tr>
<tr class="separator:a45c30f3703cec5ae3eb6de061012af88"><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="a8f05d26a410dd97379ac2651922a6449"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f05d26a410dd97379ac2651922a6449">&#9670;&nbsp;</a></span>BIGBITS_384_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BIGBITS_384_28&#160;&#160;&#160;(8*<a class="el" href="config__big__384__28_8h.html#ac42deaa112782c0164c1da093fd09189">MODBYTES_384_28</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Length in bits </p>
</div>
</div>
<a id="a84665e78dbc0947688151a4ac8dc9644"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84665e78dbc0947688151a4ac8dc9644">&#9670;&nbsp;</a></span>BMASK_384_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BMASK_384_28&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">BASEBITS_384_28</a>)-1)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Mask = 2^BASEBITS-1 </p>
</div>
</div>
<a id="a8ecc6d852c9a8295de789234094b1dce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ecc6d852c9a8295de789234094b1dce">&#9670;&nbsp;</a></span>DNLEN_384_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DNLEN_384_28&#160;&#160;&#160;2*<a class="el" href="big__384__28_8h.html#a439daca6a2d884b15798c1e6d9a6ba4e">NLEN_384_28</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Double length in bytes </p>
</div>
</div>
<a id="a7add637ce6e6a22f580a621e454e2f1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7add637ce6e6a22f580a621e454e2f1b">&#9670;&nbsp;</a></span>HBITS_384_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HBITS_384_28&#160;&#160;&#160;(<a class="el" href="config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">BASEBITS_384_28</a>/2)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of bits in number base divided by 2 </p>
</div>
</div>
<a id="a4f236ead1b11b6a59048301ebad560fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f236ead1b11b6a59048301ebad560fe">&#9670;&nbsp;</a></span>HMASK_384_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HMASK_384_28&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__384__28_8h.html#a7add637ce6e6a22f580a621e454e2f1b">HBITS_384_28</a>)-1)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Mask = 2^HBITS-1 </p>
</div>
</div>
<a id="a8fd2df8afe92c49d115a5fc91d4deb59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8fd2df8afe92c49d115a5fc91d4deb59">&#9670;&nbsp;</a></span>NEXCESS_384_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define NEXCESS_384_28&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">BASEBITS_384_28</a>-1))</td>
</tr>
</table>
</div><div class="memdoc">
<p>2^(CHUNK-BASEBITS-1) - digit cannot be multiplied by more than this before normalisation </p>
</div>
</div>
<a id="a439daca6a2d884b15798c1e6d9a6ba4e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a439daca6a2d884b15798c1e6d9a6ba4e">&#9670;&nbsp;</a></span>NLEN_384_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define NLEN_384_28&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__384__28_8h.html#ac42deaa112782c0164c1da093fd09189">MODBYTES_384_28</a>-1)/<a class="el" href="config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">BASEBITS_384_28</a>))</td>
</tr>
</table>
</div><div class="memdoc">
<p>length in bytes </p>
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a16ee35f89cb5f1ddd2dd23ca3060b71e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a16ee35f89cb5f1ddd2dd23ca3060b71e">&#9670;&nbsp;</a></span>BIG_384_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_384_28[<a class="el" href="big__384__28_8h.html#a439daca6a2d884b15798c1e6d9a6ba4e">NLEN_384_28</a>]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Define type BIG as array of chunks </p>
</div>
</div>
<a id="aee6f1279d5b892bfe71c18395de4c91b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aee6f1279d5b892bfe71c18395de4c91b">&#9670;&nbsp;</a></span>DBIG_384_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> DBIG_384_28[<a class="el" href="big__384__28_8h.html#a8ecc6d852c9a8295de789234094b1dce">DNLEN_384_28</a>]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Define type DBIG as array of chunks </p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a4a9f21e199c8aa375f10a620421382e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a9f21e199c8aa375f10a620421382e6">&#9670;&nbsp;</a></span>BIG_384_28_add()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_add </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, sum of other two </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">z</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a1332067c6ddd966c3ee106ca9232bcd5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1332067c6ddd966c3ee106ca9232bcd5">&#9670;&nbsp;</a></span>BIG_384_28_bit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_384_28_bit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">i</td><td>the bit of x to be returned </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 or 1 </dd></dl>
</div>
</div>
<a id="a7c2f771cf7b5dd17f8e1f05da8bf97a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c2f771cf7b5dd17f8e1f05da8bf97a1">&#9670;&nbsp;</a></span>BIG_384_28_cmove()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_cmove </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Conditionally copies second parameter to the first (without branching) </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a BIG number </td></tr>
<tr><td class="paramname">y</td><td>another BIG number </td></tr>
<tr><td class="paramname">s</td><td>copy takes place if not equal to 0 </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa2d828ed693c2267db21030a7b8aa65f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2d828ed693c2267db21030a7b8aa65f">&#9670;&nbsp;</a></span>BIG_384_28_comp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_384_28_comp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>first BIG number to be compared </td></tr>
<tr><td class="paramname">y</td><td>second BIG number to be compared </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>-1 is x&lt;y, 0 if x=y, 1 if x&gt;y </dd></dl>
</div>
</div>
<a id="a63d3817c3c3bce6ac1c39c8b16fac06f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63d3817c3c3bce6ac1c39c8b16fac06f">&#9670;&nbsp;</a></span>BIG_384_28_copy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_copy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">y</td><td>BIG number to be copied </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a09cb7359e8678a5ac2e7fc3e332eb29c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09cb7359e8678a5ac2e7fc3e332eb29c">&#9670;&nbsp;</a></span>BIG_384_28_cswap()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_cswap </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Conditionally swaps parameters in constant time (without branching) </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a BIG number </td></tr>
<tr><td class="paramname">y</td><td>another BIG number </td></tr>
<tr><td class="paramname">s</td><td>swap takes place if not equal to 0 </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac45376eaec2c8050f1375202e0976534"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac45376eaec2c8050f1375202e0976534">&#9670;&nbsp;</a></span>BIG_384_28_dadd()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_dadd </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number, sum of other two - output not normalised </td></tr>
<tr><td class="paramname">y</td><td>DBIG number </td></tr>
<tr><td class="paramname">z</td><td>DBIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae71455123481ffaa1c7e08f81d155ff9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae71455123481ffaa1c7e08f81d155ff9">&#9670;&nbsp;</a></span>BIG_384_28_dcmove()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_dcmove </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Conditionally copies second parameter to the first (without branching) </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a DBIG number </td></tr>
<tr><td class="paramname">y</td><td>another DBIG number </td></tr>
<tr><td class="paramname">s</td><td>copy takes place if not equal to 0 </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a65f2020e457f2c9d9b98cd595032a962"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65f2020e457f2c9d9b98cd595032a962">&#9670;&nbsp;</a></span>BIG_384_28_dcomp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_384_28_dcomp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>first DBIG number to be compared </td></tr>
<tr><td class="paramname">y</td><td>second DBIG number to be compared </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>-1 is x&lt;y, 0 if x=y, 1 if x&gt;y </dd></dl>
</div>
</div>
<a id="ab5a69694470155f14f5bee3c62b773d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5a69694470155f14f5bee3c62b773d6">&#9670;&nbsp;</a></span>BIG_384_28_dcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_dcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number </td></tr>
<tr><td class="paramname">y</td><td>DBIG number to be copied </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0c669c1e0764711db98f4690ab4ead02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c669c1e0764711db98f4690ab4ead02">&#9670;&nbsp;</a></span>BIG_384_28_ddiv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_ddiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Slow but rarely used. y is destroyed. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit = y/n </td></tr>
<tr><td class="paramname">y</td><td>DBIG number </td></tr>
<tr><td class="paramname">n</td><td>Modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a228697f5aeef97b347d5bd095cbed9bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a228697f5aeef97b347d5bd095cbed9bf">&#9670;&nbsp;</a></span>BIG_384_28_dec()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_dec </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be decremented </td></tr>
<tr><td class="paramname">i</td><td>integer </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a42203ae1493bb5e1f84e2f93b44f543f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42203ae1493bb5e1f84e2f93b44f543f">&#9670;&nbsp;</a></span>BIG_384_28_dfromBytesLen()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_dfromBytesLen </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number </td></tr>
<tr><td class="paramname">a</td><td>byte array </td></tr>
<tr><td class="paramname">s</td><td>byte array length </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac824c238b2ad967cc52836a888ce5ec7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac824c238b2ad967cc52836a888ce5ec7">&#9670;&nbsp;</a></span>BIG_384_28_diszilch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_384_28_diszilch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a DBIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if zero, else returns 0 </dd></dl>
</div>
</div>
<a id="ac436ebf172cfe996920945b3f1b7cb4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac436ebf172cfe996920945b3f1b7cb4a">&#9670;&nbsp;</a></span>BIG_384_28_div3()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_384_28_div3 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Remainder </dd></dl>
</div>
</div>
<a id="af5726874f41c1bc21331297bdd12ad02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5726874f41c1bc21331297bdd12ad02">&#9670;&nbsp;</a></span>BIG_384_28_dmod()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_dmod </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Slow but rarely used. y is destroyed. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit = y mod n </td></tr>
<tr><td class="paramname">y</td><td>DBIG number </td></tr>
<tr><td class="paramname">n</td><td>Modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a45c30f3703cec5ae3eb6de061012af88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45c30f3703cec5ae3eb6de061012af88">&#9670;&nbsp;</a></span>BIG_384_28_dmod2m()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_dmod2m </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>m</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Truncation
@param x DBIG number, on reduced mod 2^m
@param m new truncated size
</pre>
</div>
</div>
<a id="ad69eeb57746553c390c02ce7fc53fedd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad69eeb57746553c390c02ce7fc53fedd">&#9670;&nbsp;</a></span>BIG_384_28_dnbits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_384_28_dnbits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bits in x </dd></dl>
</div>
</div>
<a id="aef2b744cef6fe1696b79b2aa3fed8fb2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef2b744cef6fe1696b79b2aa3fed8fb2">&#9670;&nbsp;</a></span>BIG_384_28_dnorm()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_dnorm </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>All digits of the input DBIG are reduced mod 2^BASEBITS </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number to be normalised </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a516ac3f0b90c3eae0d5021c8616b7368"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a516ac3f0b90c3eae0d5021c8616b7368">&#9670;&nbsp;</a></span>BIG_384_28_doutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_doutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a DBIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="afacc56ed2d110adb76534f3835129f70"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afacc56ed2d110adb76534f3835129f70">&#9670;&nbsp;</a></span>BIG_384_28_drawoutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_drawoutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a DBIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9b5cd02ecfebe5b4d0f6ac1edac6c52c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b5cd02ecfebe5b4d0f6ac1edac6c52c">&#9670;&nbsp;</a></span>BIG_384_28_dscopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_dscopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number </td></tr>
<tr><td class="paramname">y</td><td>BIG number to be copied </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8a513d5bf6c2e56d438f0474a3cb069a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a513d5bf6c2e56d438f0474a3cb069a">&#9670;&nbsp;</a></span>BIG_384_28_dshl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_dshl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number to be shifted </td></tr>
<tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="afa77897ed052e7b53cf745c275bf7e31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa77897ed052e7b53cf745c275bf7e31">&#9670;&nbsp;</a></span>BIG_384_28_dshr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_dshr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number to be shifted </td></tr>
<tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a4cb202b0eb07a78d009b729089742fea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4cb202b0eb07a78d009b729089742fea">&#9670;&nbsp;</a></span>BIG_384_28_dsub()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_dsub </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number, difference of other two - output not normalised </td></tr>
<tr><td class="paramname">y</td><td>DBIG number </td></tr>
<tr><td class="paramname">z</td><td>DBIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a1a726364369270a9e29464eeb9aee469"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a726364369270a9e29464eeb9aee469">&#9670;&nbsp;</a></span>BIG_384_28_dsucopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_dsucopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number </td></tr>
<tr><td class="paramname">y</td><td>BIG number to be copied </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a238e27e5b205b6181f5c718d12c26e00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a238e27e5b205b6181f5c718d12c26e00">&#9670;&nbsp;</a></span>BIG_384_28_dzero()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_dzero </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number to be set to zero </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a51b34c564e69a54e167e4327dc712219"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51b34c564e69a54e167e4327dc712219">&#9670;&nbsp;</a></span>BIG_384_28_fromBytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_fromBytes </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>a</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">a</td><td>byte array </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9e2586315194fec22ccc7a45e62d46ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e2586315194fec22ccc7a45e62d46ad">&#9670;&nbsp;</a></span>BIG_384_28_fromBytesLen()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_fromBytesLen </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">a</td><td>byte array </td></tr>
<tr><td class="paramname">s</td><td>byte array length </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad9ec1f2757cac24535f8bdef1a7a39e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9ec1f2757cac24535f8bdef1a7a39e8">&#9670;&nbsp;</a></span>BIG_384_28_fshl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_384_28_fshl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The number of bits to be shifted must be less than BASEBITS </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be shifted </td></tr>
<tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Overflow bits </dd></dl>
</div>
</div>
<a id="a916fbbcf68123a8a3ed28f427dc34784"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a916fbbcf68123a8a3ed28f427dc34784">&#9670;&nbsp;</a></span>BIG_384_28_fshr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_384_28_fshr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The number of bits to be shifted must be less than BASEBITS </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be shifted </td></tr>
<tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Shifted out bits </dd></dl>
</div>
</div>
<a id="a3da153b25d066347093f0dbbf14eb15d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3da153b25d066347093f0dbbf14eb15d">&#9670;&nbsp;</a></span>BIG_384_28_imul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_imul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, product of other two </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">i</td><td>small integer </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5c7488a309fc2c3ae069dfffc9d7c4c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c7488a309fc2c3ae069dfffc9d7c4c0">&#9670;&nbsp;</a></span>BIG_384_28_inc()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_inc </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be incremented </td></tr>
<tr><td class="paramname">i</td><td>integer </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7fe701290d9d38d84514372f424187c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7fe701290d9d38d84514372f424187c5">&#9670;&nbsp;</a></span>BIG_384_28_invmod2m()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_invmod2m </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be inverted </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3303e969db79f8ea0c7b56a1beb2a79a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3303e969db79f8ea0c7b56a1beb2a79a">&#9670;&nbsp;</a></span>BIG_384_28_invmodp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_invmodp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Modular Inversion - This is slow. Uses binary method. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit = 1/y mod n </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a58341593cdb187626cb9ed9fc255c390"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58341593cdb187626cb9ed9fc255c390">&#9670;&nbsp;</a></span>BIG_384_28_isunity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_384_28_isunity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a BIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if one, else returns 0 </dd></dl>
</div>
</div>
<a id="aaae155a2c272e54cb6debaf4c22c752c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaae155a2c272e54cb6debaf4c22c752c">&#9670;&nbsp;</a></span>BIG_384_28_iszilch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_384_28_iszilch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a BIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if zero, else returns 0 </dd></dl>
</div>
</div>
<a id="ad2c01faa4c2e37c3b546d0a3213e2cd5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2c01faa4c2e37c3b546d0a3213e2cd5">&#9670;&nbsp;</a></span>BIG_384_28_jacobi()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_384_28_jacobi </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Jacobi symbol, -1,0 or 1 </dd></dl>
</div>
</div>
<a id="a11b73740018af049295c35189bceac13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11b73740018af049295c35189bceac13">&#9670;&nbsp;</a></span>BIG_384_28_lastbits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_384_28_lastbits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">n</td><td>number of bits to return. Assumed to be less than BASEBITS. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>least significant n bits as an integer </dd></dl>
</div>
</div>
<a id="ad08e2bf2a67f19eaab434ec546bb7ff6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad08e2bf2a67f19eaab434ec546bb7ff6">&#9670;&nbsp;</a></span>BIG_384_28_mod()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_mod </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Slow but rarely used </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be reduced mod n </td></tr>
<tr><td class="paramname">n</td><td>The modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a96499245fbc0e95cea2d5620a737fda6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a96499245fbc0e95cea2d5620a737fda6">&#9670;&nbsp;</a></span>BIG_384_28_mod2m()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_mod2m </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>m</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Truncation
@param x BIG number, on reduced mod 2^m
@param m new truncated size
</pre>
</div>
</div>
<a id="aa752852a23b3e0c59a7b664c0e117261"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa752852a23b3e0c59a7b664c0e117261">&#9670;&nbsp;</a></span>BIG_384_28_moddiv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_moddiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Slow method for modular division </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit = y/z mod n </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">z</td><td>BIG number </td></tr>
<tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad9ca3ee5748f621f5e97876f57c3ce5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9ca3ee5748f621f5e97876f57c3ce5c">&#9670;&nbsp;</a></span>BIG_384_28_modmul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_modmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>brief return NAF (Non-Adjacent-Form) value as +/- 1, 3 or 5, inputs must be normalised</p>
<p>Given x and 3*x extracts NAF value from given bit position, and returns number of bits processed, and number of trailing zeros detected if any param x BIG number param x3 BIG number, three times x param i bit position param nbs pointer to integer returning number of bits processed param nzs pointer to integer returning number of trailing 0s return + or - 1, 3 or 5Slow method for modular multiplication </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit = y*z mod n </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">z</td><td>BIG number </td></tr>
<tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2db1bbccaf315a380d68b89d82867077"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2db1bbccaf315a380d68b89d82867077">&#9670;&nbsp;</a></span>BIG_384_28_modneg()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_modneg </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Modular negation </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit = -y mod n </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6dd22adb17f614887efdee1cb57d0e81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6dd22adb17f614887efdee1cb57d0e81">&#9670;&nbsp;</a></span>BIG_384_28_modsqr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_modsqr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Slow method for modular squaring </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit = y^2 mod n </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a847b33bcb40d3241e31b6ee96bd8f4c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a847b33bcb40d3241e31b6ee96bd8f4c6">&#9670;&nbsp;</a></span>BIG_384_28_monty()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_monty </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>md</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td>
<td class="paramname"><em>MC</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>d</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">a</td><td>BIG number, reduction of a BIG </td></tr>
<tr><td class="paramname">md</td><td>BIG number, the modulus </td></tr>
<tr><td class="paramname">MC</td><td>the Montgomery Constant </td></tr>
<tr><td class="paramname">d</td><td>DBIG number to be reduced </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac6c217fef49e386b85b023fe05f80723"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6c217fef49e386b85b023fe05f80723">&#9670;&nbsp;</a></span>BIG_384_28_mul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_mul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number, product of other two </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">z</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5c167fb2b00eccd42ce4ae9c796189e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c167fb2b00eccd42ce4ae9c796189e4">&#9670;&nbsp;</a></span>BIG_384_28_nbits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_384_28_nbits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bits in x </dd></dl>
</div>
</div>
<a id="a4ad8fd01de1709b61612fcc279274600"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ad8fd01de1709b61612fcc279274600">&#9670;&nbsp;</a></span>BIG_384_28_norm()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_384_28_norm </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>All digits of the input BIG are reduced mod 2^BASEBITS </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be normalised </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab1d79b56107d0bfe073c4dbec9edb424"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1d79b56107d0bfe073c4dbec9edb424">&#9670;&nbsp;</a></span>BIG_384_28_one()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_one </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be set to one. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2bac6adf71cf485e03e34f2900c0e00c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2bac6adf71cf485e03e34f2900c0e00c">&#9670;&nbsp;</a></span>BIG_384_28_or()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_or </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, or of other two </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">z</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="afbc6201e5eae7949f8fdaca44dfc95b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbc6201e5eae7949f8fdaca44dfc95b6">&#9670;&nbsp;</a></span>BIG_384_28_output()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_output </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aff7c69eedbb24ec68e7ddf4db9acc4c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff7c69eedbb24ec68e7ddf4db9acc4c4">&#9670;&nbsp;</a></span>BIG_384_28_parity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_384_28_parity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 or 1 </dd></dl>
</div>
</div>
<a id="ad63df8e11b6f1cfeb7e9140cab9d561e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad63df8e11b6f1cfeb7e9140cab9d561e">&#9670;&nbsp;</a></span>BIG_384_28_pmul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_384_28_pmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, product of other two </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">i</td><td>small integer </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Overflowing bits </dd></dl>
</div>
</div>
<a id="a47ca896b3c4555f90fd10841c9f87d03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a47ca896b3c4555f90fd10841c9f87d03">&#9670;&nbsp;</a></span>BIG_384_28_pxmul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_pxmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number, product of other two </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">i</td><td>small integer </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a1668ae2de15408b596eea43adc6f9015"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1668ae2de15408b596eea43adc6f9015">&#9670;&nbsp;</a></span>BIG_384_28_random()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_random </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structcsprng.html">csprng</a> *&#160;</td>
<td class="paramname"><em>r</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Assumes that the random number generator has been suitably initialised </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit a random number </td></tr>
<tr><td class="paramname">r</td><td>A pointer to a Cryptographically Secure Random Number Generator </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae9a29e377331b63ca78ce090e32bda20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9a29e377331b63ca78ce090e32bda20">&#9670;&nbsp;</a></span>BIG_384_28_randomnum()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_randomnum </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>n</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structcsprng.html">csprng</a> *&#160;</td>
<td class="paramname"><em>r</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Assumes that the random number generator has been suitably initialised </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, on exit a random number </td></tr>
<tr><td class="paramname">n</td><td>The modulus </td></tr>
<tr><td class="paramname">r</td><td>A pointer to a Cryptographically Secure Random Number Generator </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a4487f671a15c0626f311c012e20c9c2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4487f671a15c0626f311c012e20c9c2b">&#9670;&nbsp;</a></span>BIG_384_28_rawoutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_rawoutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>a BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="af1375dc3069a5b40e2a4721bc6c34ca7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af1375dc3069a5b40e2a4721bc6c34ca7">&#9670;&nbsp;</a></span>BIG_384_28_rcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_rcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">y</td><td>BIG number in ROM </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a52395d29456061e275f180bcbc0fa9d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52395d29456061e275f180bcbc0fa9d9">&#9670;&nbsp;</a></span>BIG_384_28_sdcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_sdcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">y</td><td>DBIG number to be copied </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a15d63ef2bcc446e9d28fb3e5b6184b41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15d63ef2bcc446e9d28fb3e5b6184b41">&#9670;&nbsp;</a></span>BIG_384_28_sdiv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_sdiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Slow but rarely used </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be divided by n </td></tr>
<tr><td class="paramname">n</td><td>The Divisor </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a618bf7d7e2be346517e7fbed186f46e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a618bf7d7e2be346517e7fbed186f46e8">&#9670;&nbsp;</a></span>BIG_384_28_sducopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_sducopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number </td></tr>
<tr><td class="paramname">y</td><td>DBIG number to be copied </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ade8e4549ea507d3e683fe81d4d400f71"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade8e4549ea507d3e683fe81d4d400f71">&#9670;&nbsp;</a></span>BIG_384_28_shl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_shl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be shifted </td></tr>
<tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0d145f76d6d0b8823761f4ca6370c637"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d145f76d6d0b8823761f4ca6370c637">&#9670;&nbsp;</a></span>BIG_384_28_shr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_shr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be shifted </td></tr>
<tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="adc8507bac205a5f0ccbac18de7b68ca1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc8507bac205a5f0ccbac18de7b68ca1">&#9670;&nbsp;</a></span>BIG_384_28_smul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_smul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Note that the product must fit into a BIG, and x must be distinct from y and z </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, product of other two </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">z</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a33f7b0063f5af0e6c58510966beac8f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33f7b0063f5af0e6c58510966beac8f8">&#9670;&nbsp;</a></span>BIG_384_28_split()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_384_28_split </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Internal function. The value of s must be approximately in the middle of the DBIG. Typically used to extract z mod 2^MODBITS and z/2^MODBITS </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, top half of z </td></tr>
<tr><td class="paramname">y</td><td>BIG number, bottom half of z </td></tr>
<tr><td class="paramname">z</td><td>DBIG number to be split in two. </td></tr>
<tr><td class="paramname">s</td><td>Bit position at which to split </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>carry-out from top half </dd></dl>
</div>
</div>
<a id="a0b9f6d6a15963d0ca607e5143f726651"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b9f6d6a15963d0ca607e5143f726651">&#9670;&nbsp;</a></span>BIG_384_28_sqr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_sqr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>DBIG number, square of a BIG </td></tr>
<tr><td class="paramname">y</td><td>BIG number to be squared </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae24758a390284bae57bd3bc25543309d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae24758a390284bae57bd3bc25543309d">&#9670;&nbsp;</a></span>BIG_384_28_ssn()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_384_28_ssn </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>m</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">r</td><td>BIG number normalised output </td></tr>
<tr><td class="paramname">a</td><td>BIG number to be subtracted from </td></tr>
<tr><td class="paramname">m</td><td>BIG number to be shifted and subtracted </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>sign of r </dd></dl>
</div>
</div>
<a id="a5d20d009e9edb553f18c4c65d5ded998"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d20d009e9edb553f18c4c65d5ded998">&#9670;&nbsp;</a></span>BIG_384_28_sub()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_sub </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number, difference of other two - output not normalised </td></tr>
<tr><td class="paramname">y</td><td>BIG number </td></tr>
<tr><td class="paramname">z</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3ab047839afd602bbba5fa530f48a1f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ab047839afd602bbba5fa530f48a1f9">&#9670;&nbsp;</a></span>BIG_384_28_toBytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_toBytes </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">a</td><td>byte array </td></tr>
<tr><td class="paramname">x</td><td>BIG number </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae43efdb25a16be101f8156b2047d7e9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae43efdb25a16be101f8156b2047d7e9c">&#9670;&nbsp;</a></span>BIG_384_28_zero()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_384_28_zero </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG number to be set to zero </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>