blob: c3cf4fb05757563fa0c6d826110346faefd2b38f [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_256_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_256_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__256__28_8h_source.html">config_big_256_28.h</a>&quot;</code><br />
</div>
<p><a href="big__256__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:a7ead2232fb4a739ef8f73c3fefd48f29"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a7ead2232fb4a739ef8f73c3fefd48f29">BIGBITS_256_28</a>&#160;&#160;&#160;(8*<a class="el" href="config__big__256__28_8h.html#ae89bb6db7acd3aae9eceb056a392abae">MODBYTES_256_28</a>)</td></tr>
<tr class="separator:a7ead2232fb4a739ef8f73c3fefd48f29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf946fc4a9df0a4306003592cae272d8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#acf946fc4a9df0a4306003592cae272d8">NLEN_256_28</a>&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__256__28_8h.html#ae89bb6db7acd3aae9eceb056a392abae">MODBYTES_256_28</a>-1)/<a class="el" href="config__big__256__28_8h.html#af025ee034981f7bc32396d376a876188">BASEBITS_256_28</a>))</td></tr>
<tr class="separator:acf946fc4a9df0a4306003592cae272d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeef29ac9135b080cdca9ad39010fbe1e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#aeef29ac9135b080cdca9ad39010fbe1e">DNLEN_256_28</a>&#160;&#160;&#160;2*<a class="el" href="big__256__28_8h.html#acf946fc4a9df0a4306003592cae272d8">NLEN_256_28</a></td></tr>
<tr class="separator:aeef29ac9135b080cdca9ad39010fbe1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c7deb16fe58bf6822dc208b4c299967"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a1c7deb16fe58bf6822dc208b4c299967">BMASK_256_28</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__256__28_8h.html#af025ee034981f7bc32396d376a876188">BASEBITS_256_28</a>)-1)</td></tr>
<tr class="separator:a1c7deb16fe58bf6822dc208b4c299967"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fd6315e4e0763ca6b2b12f38c902a57"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a1fd6315e4e0763ca6b2b12f38c902a57">NEXCESS_256_28</a>&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__256__28_8h.html#af025ee034981f7bc32396d376a876188">BASEBITS_256_28</a>-1))</td></tr>
<tr class="separator:a1fd6315e4e0763ca6b2b12f38c902a57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af749a414befcf2c9103cb90deae1bd3b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#af749a414befcf2c9103cb90deae1bd3b">HBITS_256_28</a>&#160;&#160;&#160;(<a class="el" href="config__big__256__28_8h.html#af025ee034981f7bc32396d376a876188">BASEBITS_256_28</a>/2)</td></tr>
<tr class="separator:af749a414befcf2c9103cb90deae1bd3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea5c623d16fd9def8b5ec608bb72d9b4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#aea5c623d16fd9def8b5ec608bb72d9b4">HMASK_256_28</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__256__28_8h.html#af749a414befcf2c9103cb90deae1bd3b">HBITS_256_28</a>)-1)</td></tr>
<tr class="separator:aea5c623d16fd9def8b5ec608bb72d9b4"><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:a441a2913ee6e6b8a3065843af84ea61b"><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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>[<a class="el" href="big__256__28_8h.html#acf946fc4a9df0a4306003592cae272d8">NLEN_256_28</a>]</td></tr>
<tr class="separator:a441a2913ee6e6b8a3065843af84ea61b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab24e6de2b7e5d7d78b1bac14b13768be"><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__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>[<a class="el" href="big__256__28_8h.html#aeef29ac9135b080cdca9ad39010fbe1e">DNLEN_256_28</a>]</td></tr>
<tr class="separator:ab24e6de2b7e5d7d78b1bac14b13768be"><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:afbf2db16ec41de1fa64c3d591303e41d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#afbf2db16ec41de1fa64c3d591303e41d">BIG_256_28_iszilch</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x)</td></tr>
<tr class="memdesc:afbf2db16ec41de1fa64c3d591303e41d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to zero. <a href="#afbf2db16ec41de1fa64c3d591303e41d">More...</a><br /></td></tr>
<tr class="separator:afbf2db16ec41de1fa64c3d591303e41d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1398cb2971ad58ae9d59e717a9b6b1ec"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a1398cb2971ad58ae9d59e717a9b6b1ec">BIG_256_28_isunity</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x)</td></tr>
<tr class="memdesc:a1398cb2971ad58ae9d59e717a9b6b1ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to one. <a href="#a1398cb2971ad58ae9d59e717a9b6b1ec">More...</a><br /></td></tr>
<tr class="separator:a1398cb2971ad58ae9d59e717a9b6b1ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeff6e8bd5aa02ec15629660f185d4ecd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#aeff6e8bd5aa02ec15629660f185d4ecd">BIG_256_28_diszilch</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x)</td></tr>
<tr class="memdesc:aeff6e8bd5aa02ec15629660f185d4ecd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for DBIG equal to zero. <a href="#aeff6e8bd5aa02ec15629660f185d4ecd">More...</a><br /></td></tr>
<tr class="separator:aeff6e8bd5aa02ec15629660f185d4ecd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30b918cd0cab2b6762da39f522f11140"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a30b918cd0cab2b6762da39f522f11140">BIG_256_28_output</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x)</td></tr>
<tr class="memdesc:a30b918cd0cab2b6762da39f522f11140"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console. <a href="#a30b918cd0cab2b6762da39f522f11140">More...</a><br /></td></tr>
<tr class="separator:a30b918cd0cab2b6762da39f522f11140"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8626d88b1bf8cf7aff25c7fde983b726"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a8626d88b1bf8cf7aff25c7fde983b726">BIG_256_28_rawoutput</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x)</td></tr>
<tr class="memdesc:a8626d88b1bf8cf7aff25c7fde983b726"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console in raw form (for debugging) <a href="#a8626d88b1bf8cf7aff25c7fde983b726">More...</a><br /></td></tr>
<tr class="separator:a8626d88b1bf8cf7aff25c7fde983b726"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb4ac61ac3caaf1c89101d90a209177e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#afb4ac61ac3caaf1c89101d90a209177e">BIG_256_28_cswap</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, int s)</td></tr>
<tr class="memdesc:afb4ac61ac3caaf1c89101d90a209177e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional constant time swap of two BIG numbers. <a href="#afb4ac61ac3caaf1c89101d90a209177e">More...</a><br /></td></tr>
<tr class="separator:afb4ac61ac3caaf1c89101d90a209177e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03ab05da92eb2ea796cb26842b7e77e3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a03ab05da92eb2ea796cb26842b7e77e3">BIG_256_28_cmove</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, int s)</td></tr>
<tr class="memdesc:a03ab05da92eb2ea796cb26842b7e77e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of BIG number. <a href="#a03ab05da92eb2ea796cb26842b7e77e3">More...</a><br /></td></tr>
<tr class="separator:a03ab05da92eb2ea796cb26842b7e77e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ef3b955adfdc30b9c5434ffc7de8ed0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a0ef3b955adfdc30b9c5434ffc7de8ed0">BIG_256_28_dcmove</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, int s)</td></tr>
<tr class="memdesc:a0ef3b955adfdc30b9c5434ffc7de8ed0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of DBIG number. <a href="#a0ef3b955adfdc30b9c5434ffc7de8ed0">More...</a><br /></td></tr>
<tr class="separator:a0ef3b955adfdc30b9c5434ffc7de8ed0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f7ce434aa163e584027c8495f3a561d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a2f7ce434aa163e584027c8495f3a561d">BIG_256_28_toBytes</a> (char *a, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x)</td></tr>
<tr class="memdesc:a2f7ce434aa163e584027c8495f3a561d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from BIG number to byte array. <a href="#a2f7ce434aa163e584027c8495f3a561d">More...</a><br /></td></tr>
<tr class="separator:a2f7ce434aa163e584027c8495f3a561d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4042f0ef0741d29c29ca604808803e1d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a4042f0ef0741d29c29ca604808803e1d">BIG_256_28_fromBytes</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, char *a)</td></tr>
<tr class="memdesc:a4042f0ef0741d29c29ca604808803e1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array. <a href="#a4042f0ef0741d29c29ca604808803e1d">More...</a><br /></td></tr>
<tr class="separator:a4042f0ef0741d29c29ca604808803e1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5eb3022f9db32c07282522095d3af912"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a5eb3022f9db32c07282522095d3af912">BIG_256_28_fromBytesLen</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, char *a, int s)</td></tr>
<tr class="memdesc:a5eb3022f9db32c07282522095d3af912"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array of given length. <a href="#a5eb3022f9db32c07282522095d3af912">More...</a><br /></td></tr>
<tr class="separator:a5eb3022f9db32c07282522095d3af912"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a677d109788b548697770dae0287e2878"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a677d109788b548697770dae0287e2878">BIG_256_28_dfromBytesLen</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, char *a, int s)</td></tr>
<tr class="memdesc:a677d109788b548697770dae0287e2878"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to DBIG number from byte array of given length. <a href="#a677d109788b548697770dae0287e2878">More...</a><br /></td></tr>
<tr class="separator:a677d109788b548697770dae0287e2878"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a100f5561b2344f026870e2aaa1407f73"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a100f5561b2344f026870e2aaa1407f73">BIG_256_28_doutput</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x)</td></tr>
<tr class="memdesc:a100f5561b2344f026870e2aaa1407f73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console. <a href="#a100f5561b2344f026870e2aaa1407f73">More...</a><br /></td></tr>
<tr class="separator:a100f5561b2344f026870e2aaa1407f73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32cfd50006ba099108d95dd49906e37d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a32cfd50006ba099108d95dd49906e37d">BIG_256_28_drawoutput</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x)</td></tr>
<tr class="memdesc:a32cfd50006ba099108d95dd49906e37d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console. <a href="#a32cfd50006ba099108d95dd49906e37d">More...</a><br /></td></tr>
<tr class="separator:a32cfd50006ba099108d95dd49906e37d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7658779f094b599a129e7697c990baf6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a7658779f094b599a129e7697c990baf6">BIG_256_28_rcopy</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, const <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y)</td></tr>
<tr class="memdesc:a7658779f094b599a129e7697c990baf6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG from Read-Only Memory to a BIG. <a href="#a7658779f094b599a129e7697c990baf6">More...</a><br /></td></tr>
<tr class="separator:a7658779f094b599a129e7697c990baf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0831bc3b956e7489f966f919f635ee22"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a0831bc3b956e7489f966f919f635ee22">BIG_256_28_copy</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y)</td></tr>
<tr class="memdesc:a0831bc3b956e7489f966f919f635ee22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to another BIG. <a href="#a0831bc3b956e7489f966f919f635ee22">More...</a><br /></td></tr>
<tr class="separator:a0831bc3b956e7489f966f919f635ee22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec1619fb62adb5f7d3e0bc25648c56c3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#aec1619fb62adb5f7d3e0bc25648c56c3">BIG_256_28_dcopy</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> y)</td></tr>
<tr class="memdesc:aec1619fb62adb5f7d3e0bc25648c56c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy DBIG to another DBIG. <a href="#aec1619fb62adb5f7d3e0bc25648c56c3">More...</a><br /></td></tr>
<tr class="separator:aec1619fb62adb5f7d3e0bc25648c56c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afef94b156f0a4a42047ae2ee98bd9306"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#afef94b156f0a4a42047ae2ee98bd9306">BIG_256_28_dsucopy</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y)</td></tr>
<tr class="memdesc:afef94b156f0a4a42047ae2ee98bd9306"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to upper half of DBIG. <a href="#afef94b156f0a4a42047ae2ee98bd9306">More...</a><br /></td></tr>
<tr class="separator:afef94b156f0a4a42047ae2ee98bd9306"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acdec6adf8bb9116f47ffc3d13a1a2a11"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#acdec6adf8bb9116f47ffc3d13a1a2a11">BIG_256_28_dscopy</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y)</td></tr>
<tr class="memdesc:acdec6adf8bb9116f47ffc3d13a1a2a11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to lower half of DBIG. <a href="#acdec6adf8bb9116f47ffc3d13a1a2a11">More...</a><br /></td></tr>
<tr class="separator:acdec6adf8bb9116f47ffc3d13a1a2a11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4f351cc457451bef252ab2cda4c7311"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ae4f351cc457451bef252ab2cda4c7311">BIG_256_28_sdcopy</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> y)</td></tr>
<tr class="memdesc:ae4f351cc457451bef252ab2cda4c7311"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy lower half of DBIG to a BIG. <a href="#ae4f351cc457451bef252ab2cda4c7311">More...</a><br /></td></tr>
<tr class="separator:ae4f351cc457451bef252ab2cda4c7311"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af72c8e442888b472223e2a8d44d86c30"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#af72c8e442888b472223e2a8d44d86c30">BIG_256_28_sducopy</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> y)</td></tr>
<tr class="memdesc:af72c8e442888b472223e2a8d44d86c30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy upper half of DBIG to a BIG. <a href="#af72c8e442888b472223e2a8d44d86c30">More...</a><br /></td></tr>
<tr class="separator:af72c8e442888b472223e2a8d44d86c30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab6a408e01aaab2ee65c2440d8075d94"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#aab6a408e01aaab2ee65c2440d8075d94">BIG_256_28_zero</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x)</td></tr>
<tr class="memdesc:aab6a408e01aaab2ee65c2440d8075d94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to zero. <a href="#aab6a408e01aaab2ee65c2440d8075d94">More...</a><br /></td></tr>
<tr class="separator:aab6a408e01aaab2ee65c2440d8075d94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee1f0d223f9b39ad2c723011dd55b42c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#aee1f0d223f9b39ad2c723011dd55b42c">BIG_256_28_dzero</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x)</td></tr>
<tr class="memdesc:aee1f0d223f9b39ad2c723011dd55b42c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to zero. <a href="#aee1f0d223f9b39ad2c723011dd55b42c">More...</a><br /></td></tr>
<tr class="separator:aee1f0d223f9b39ad2c723011dd55b42c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a657c178e39eb86021f18f2edce140b04"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a657c178e39eb86021f18f2edce140b04">BIG_256_28_one</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x)</td></tr>
<tr class="memdesc:a657c178e39eb86021f18f2edce140b04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to one (unity) <a href="#a657c178e39eb86021f18f2edce140b04">More...</a><br /></td></tr>
<tr class="separator:a657c178e39eb86021f18f2edce140b04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa861a483021b9d542c71a347c795e6e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#aa861a483021b9d542c71a347c795e6e1">BIG_256_28_invmod2m</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x)</td></tr>
<tr class="memdesc:aa861a483021b9d542c71a347c795e6e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to inverse mod 2^256. <a href="#aa861a483021b9d542c71a347c795e6e1">More...</a><br /></td></tr>
<tr class="separator:aa861a483021b9d542c71a347c795e6e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ef176edcca47dbfc2543571d9cc7d61"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a4ef176edcca47dbfc2543571d9cc7d61">BIG_256_28_add</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> z)</td></tr>
<tr class="memdesc:a4ef176edcca47dbfc2543571d9cc7d61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to sum of two BIGs - output not normalised. <a href="#a4ef176edcca47dbfc2543571d9cc7d61">More...</a><br /></td></tr>
<tr class="separator:a4ef176edcca47dbfc2543571d9cc7d61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45f62c90901434ca8c22fd7b5ab69432"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a45f62c90901434ca8c22fd7b5ab69432">BIG_256_28_or</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> z)</td></tr>
<tr class="memdesc:a45f62c90901434ca8c22fd7b5ab69432"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to logical or of two BIGs - output normalised. <a href="#a45f62c90901434ca8c22fd7b5ab69432">More...</a><br /></td></tr>
<tr class="separator:a45f62c90901434ca8c22fd7b5ab69432"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae35821d56d7ba557bb90f68b10ea1b85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ae35821d56d7ba557bb90f68b10ea1b85">BIG_256_28_inc</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, int i)</td></tr>
<tr class="memdesc:ae35821d56d7ba557bb90f68b10ea1b85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment BIG by a small integer - output not normalised. <a href="#ae35821d56d7ba557bb90f68b10ea1b85">More...</a><br /></td></tr>
<tr class="separator:ae35821d56d7ba557bb90f68b10ea1b85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7159990d0c51b1ffae3a3dc335858d19"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a7159990d0c51b1ffae3a3dc335858d19">BIG_256_28_sub</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> z)</td></tr>
<tr class="memdesc:a7159990d0c51b1ffae3a3dc335858d19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to difference of two BIGs. <a href="#a7159990d0c51b1ffae3a3dc335858d19">More...</a><br /></td></tr>
<tr class="separator:a7159990d0c51b1ffae3a3dc335858d19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77563d64e2f0b4176debe1fa60a80b62"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a77563d64e2f0b4176debe1fa60a80b62">BIG_256_28_dec</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, int i)</td></tr>
<tr class="memdesc:a77563d64e2f0b4176debe1fa60a80b62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement BIG by a small integer - output not normalised. <a href="#a77563d64e2f0b4176debe1fa60a80b62">More...</a><br /></td></tr>
<tr class="separator:a77563d64e2f0b4176debe1fa60a80b62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d690b7e832f23596e67bf1f5e423307"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a5d690b7e832f23596e67bf1f5e423307">BIG_256_28_dadd</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> z)</td></tr>
<tr class="memdesc:a5d690b7e832f23596e67bf1f5e423307"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to sum of two DBIGs. <a href="#a5d690b7e832f23596e67bf1f5e423307">More...</a><br /></td></tr>
<tr class="separator:a5d690b7e832f23596e67bf1f5e423307"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5fc71f9eafdd9d4989f71cb3c4010c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ab5fc71f9eafdd9d4989f71cb3c4010c5">BIG_256_28_dsub</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> z)</td></tr>
<tr class="memdesc:ab5fc71f9eafdd9d4989f71cb3c4010c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to difference of two DBIGs. <a href="#ab5fc71f9eafdd9d4989f71cb3c4010c5">More...</a><br /></td></tr>
<tr class="separator:ab5fc71f9eafdd9d4989f71cb3c4010c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a116a9a195aa03a07d12a8eaf4d3849f4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a116a9a195aa03a07d12a8eaf4d3849f4">BIG_256_28_imul</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, int i)</td></tr>
<tr class="memdesc:a116a9a195aa03a07d12a8eaf4d3849f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by a small integer - output not normalised. <a href="#a116a9a195aa03a07d12a8eaf4d3849f4">More...</a><br /></td></tr>
<tr class="separator:a116a9a195aa03a07d12a8eaf4d3849f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a578990347f8ca85eea0cd2b5cf4eaaf1"><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__256__28_8h.html#a578990347f8ca85eea0cd2b5cf4eaaf1">BIG_256_28_pmul</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, int i)</td></tr>
<tr class="memdesc:a578990347f8ca85eea0cd2b5cf4eaaf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by not-so-small small integer - output normalised. <a href="#a578990347f8ca85eea0cd2b5cf4eaaf1">More...</a><br /></td></tr>
<tr class="separator:a578990347f8ca85eea0cd2b5cf4eaaf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4971f54b70faa1a1b86435be6bf9b9c0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a4971f54b70faa1a1b86435be6bf9b9c0">BIG_256_28_div3</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x)</td></tr>
<tr class="memdesc:a4971f54b70faa1a1b86435be6bf9b9c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide BIG by 3 - output normalised. <a href="#a4971f54b70faa1a1b86435be6bf9b9c0">More...</a><br /></td></tr>
<tr class="separator:a4971f54b70faa1a1b86435be6bf9b9c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27820fd216b00e63943900f62afbd78c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a27820fd216b00e63943900f62afbd78c">BIG_256_28_pxmul</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, int i)</td></tr>
<tr class="memdesc:a27820fd216b00e63943900f62afbd78c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised. <a href="#a27820fd216b00e63943900f62afbd78c">More...</a><br /></td></tr>
<tr class="separator:a27820fd216b00e63943900f62afbd78c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7f8ba125fa00c0671704f8065a64e30"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#af7f8ba125fa00c0671704f8065a64e30">BIG_256_28_mul</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> z)</td></tr>
<tr class="memdesc:af7f8ba125fa00c0671704f8065a64e30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised. <a href="#af7f8ba125fa00c0671704f8065a64e30">More...</a><br /></td></tr>
<tr class="separator:af7f8ba125fa00c0671704f8065a64e30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f68dfface1a49778efb80d7409ad24a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a1f68dfface1a49778efb80d7409ad24a">BIG_256_28_smul</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> z)</td></tr>
<tr class="memdesc:a1f68dfface1a49778efb80d7409ad24a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised. <a href="#a1f68dfface1a49778efb80d7409ad24a">More...</a><br /></td></tr>
<tr class="separator:a1f68dfface1a49778efb80d7409ad24a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d33a9459cd5ea616784046005fc6f40"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a1d33a9459cd5ea616784046005fc6f40">BIG_256_28_sqr</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y)</td></tr>
<tr class="memdesc:a1d33a9459cd5ea616784046005fc6f40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square BIG resulting in a DBIG - input normalised and output normalised. <a href="#a1d33a9459cd5ea616784046005fc6f40">More...</a><br /></td></tr>
<tr class="separator:a1d33a9459cd5ea616784046005fc6f40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44358ec27a552db4d42e1652a8f3cd12"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a44358ec27a552db4d42e1652a8f3cd12">BIG_256_28_monty</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> a, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> md, <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC, <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> d)</td></tr>
<tr class="memdesc:a44358ec27a552db4d42e1652a8f3cd12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised. <a href="#a44358ec27a552db4d42e1652a8f3cd12">More...</a><br /></td></tr>
<tr class="separator:a44358ec27a552db4d42e1652a8f3cd12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64951278639c2065b1ee6c3cb5bc3b99"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a64951278639c2065b1ee6c3cb5bc3b99">BIG_256_28_shl</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, int s)</td></tr>
<tr class="memdesc:a64951278639c2065b1ee6c3cb5bc3b99"><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="#a64951278639c2065b1ee6c3cb5bc3b99">More...</a><br /></td></tr>
<tr class="separator:a64951278639c2065b1ee6c3cb5bc3b99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae595a7812e6997e2f8bfa350e2846be3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ae595a7812e6997e2f8bfa350e2846be3">BIG_256_28_fshl</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, int s)</td></tr>
<tr class="memdesc:ae595a7812e6997e2f8bfa350e2846be3"><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="#ae595a7812e6997e2f8bfa350e2846be3">More...</a><br /></td></tr>
<tr class="separator:ae595a7812e6997e2f8bfa350e2846be3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99d30720e76c5d19209bceb851c3a345"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a99d30720e76c5d19209bceb851c3a345">BIG_256_28_dshl</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, int s)</td></tr>
<tr class="memdesc:a99d30720e76c5d19209bceb851c3a345"><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="#a99d30720e76c5d19209bceb851c3a345">More...</a><br /></td></tr>
<tr class="separator:a99d30720e76c5d19209bceb851c3a345"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac897e470de2052dd8d094c867dc53650"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ac897e470de2052dd8d094c867dc53650">BIG_256_28_shr</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, int s)</td></tr>
<tr class="memdesc:ac897e470de2052dd8d094c867dc53650"><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="#ac897e470de2052dd8d094c867dc53650">More...</a><br /></td></tr>
<tr class="separator:ac897e470de2052dd8d094c867dc53650"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4000478e901513a32681a2edcb3a88dd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a4000478e901513a32681a2edcb3a88dd">BIG_256_28_ssn</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> r, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> a, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> m)</td></tr>
<tr class="memdesc:a4000478e901513a32681a2edcb3a88dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast time-critical combined shift by 1 bit, subtract and normalise. <a href="#a4000478e901513a32681a2edcb3a88dd">More...</a><br /></td></tr>
<tr class="separator:a4000478e901513a32681a2edcb3a88dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1274ef9a23a2cadb30717bf40dae3de"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ad1274ef9a23a2cadb30717bf40dae3de">BIG_256_28_fshr</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, int s)</td></tr>
<tr class="memdesc:ad1274ef9a23a2cadb30717bf40dae3de"><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="#ad1274ef9a23a2cadb30717bf40dae3de">More...</a><br /></td></tr>
<tr class="separator:ad1274ef9a23a2cadb30717bf40dae3de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fb5f835fcf150b513d0d05c56fb75da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a7fb5f835fcf150b513d0d05c56fb75da">BIG_256_28_dshr</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, int s)</td></tr>
<tr class="memdesc:a7fb5f835fcf150b513d0d05c56fb75da"><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="#a7fb5f835fcf150b513d0d05c56fb75da">More...</a><br /></td></tr>
<tr class="separator:a7fb5f835fcf150b513d0d05c56fb75da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a085ef8f8c5469bd7ac559ae81099a247"><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__256__28_8h.html#a085ef8f8c5469bd7ac559ae81099a247">BIG_256_28_split</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> z, int s)</td></tr>
<tr class="memdesc:a085ef8f8c5469bd7ac559ae81099a247"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a DBIG into two BIGs - input must be normalised, outputs normalised. <a href="#a085ef8f8c5469bd7ac559ae81099a247">More...</a><br /></td></tr>
<tr class="separator:a085ef8f8c5469bd7ac559ae81099a247"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e1b831b24679406e0ad181b23fc3dd5"><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__256__28_8h.html#a2e1b831b24679406e0ad181b23fc3dd5">BIG_256_28_norm</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x)</td></tr>
<tr class="memdesc:a2e1b831b24679406e0ad181b23fc3dd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a BIG number - output normalised. <a href="#a2e1b831b24679406e0ad181b23fc3dd5">More...</a><br /></td></tr>
<tr class="separator:a2e1b831b24679406e0ad181b23fc3dd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc482b7b6d1f9859d6f558f64de0e5c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#adc482b7b6d1f9859d6f558f64de0e5c1">BIG_256_28_dnorm</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x)</td></tr>
<tr class="memdesc:adc482b7b6d1f9859d6f558f64de0e5c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a DBIG number - output normalised. <a href="#adc482b7b6d1f9859d6f558f64de0e5c1">More...</a><br /></td></tr>
<tr class="separator:adc482b7b6d1f9859d6f558f64de0e5c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38842b53345806d95099918c91e0416e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a38842b53345806d95099918c91e0416e">BIG_256_28_comp</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y)</td></tr>
<tr class="memdesc:a38842b53345806d95099918c91e0416e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two BIG numbers. Inputs must be normalised externally. <a href="#a38842b53345806d95099918c91e0416e">More...</a><br /></td></tr>
<tr class="separator:a38842b53345806d95099918c91e0416e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5e7c53b25083e3769b1f1dadb271e35"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ae5e7c53b25083e3769b1f1dadb271e35">BIG_256_28_dcomp</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> y)</td></tr>
<tr class="memdesc:ae5e7c53b25083e3769b1f1dadb271e35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two DBIG numbers. Inputs must be normalised externally. <a href="#ae5e7c53b25083e3769b1f1dadb271e35">More...</a><br /></td></tr>
<tr class="separator:ae5e7c53b25083e3769b1f1dadb271e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a896ae2614e9b95b2f7a0cdb5de8f5e11"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a896ae2614e9b95b2f7a0cdb5de8f5e11">BIG_256_28_nbits</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x)</td></tr>
<tr class="memdesc:a896ae2614e9b95b2f7a0cdb5de8f5e11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a BIG - output normalised. <a href="#a896ae2614e9b95b2f7a0cdb5de8f5e11">More...</a><br /></td></tr>
<tr class="separator:a896ae2614e9b95b2f7a0cdb5de8f5e11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accdff89cc25453bc0916a6d757bb2acb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#accdff89cc25453bc0916a6d757bb2acb">BIG_256_28_dnbits</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x)</td></tr>
<tr class="memdesc:accdff89cc25453bc0916a6d757bb2acb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a DBIG - output normalised. <a href="#accdff89cc25453bc0916a6d757bb2acb">More...</a><br /></td></tr>
<tr class="separator:accdff89cc25453bc0916a6d757bb2acb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bfef5bfb03085cd859da962bfbf9034"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a9bfef5bfb03085cd859da962bfbf9034">BIG_256_28_mod</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> n)</td></tr>
<tr class="memdesc:a9bfef5bfb03085cd859da962bfbf9034"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce x mod n - input and output normalised. <a href="#a9bfef5bfb03085cd859da962bfbf9034">More...</a><br /></td></tr>
<tr class="separator:a9bfef5bfb03085cd859da962bfbf9034"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad522cd24b6c1f839999974f6acad1723"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ad522cd24b6c1f839999974f6acad1723">BIG_256_28_sdiv</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> n)</td></tr>
<tr class="memdesc:ad522cd24b6c1f839999974f6acad1723"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide x by n - output normalised. <a href="#ad522cd24b6c1f839999974f6acad1723">More...</a><br /></td></tr>
<tr class="separator:ad522cd24b6c1f839999974f6acad1723"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f96cca36d4b5f3eb50651d351874f2c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a3f96cca36d4b5f3eb50651d351874f2c">BIG_256_28_dmod</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> n)</td></tr>
<tr class="memdesc:a3f96cca36d4b5f3eb50651d351874f2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y mod n - output normalised <a href="#a3f96cca36d4b5f3eb50651d351874f2c">More...</a><br /></td></tr>
<tr class="separator:a3f96cca36d4b5f3eb50651d351874f2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7739d6ac01a5f5919e70db9151e28253"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a7739d6ac01a5f5919e70db9151e28253">BIG_256_28_ddiv</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> n)</td></tr>
<tr class="memdesc:a7739d6ac01a5f5919e70db9151e28253"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y/n - output normalised <a href="#a7739d6ac01a5f5919e70db9151e28253">More...</a><br /></td></tr>
<tr class="separator:a7739d6ac01a5f5919e70db9151e28253"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab964d2eb1ff1cfba7bca0fb76e51ada9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ab964d2eb1ff1cfba7bca0fb76e51ada9">BIG_256_28_parity</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x)</td></tr>
<tr class="memdesc:ab964d2eb1ff1cfba7bca0fb76e51ada9"><td class="mdescLeft">&#160;</td><td class="mdescRight">return parity of BIG, that is the least significant bit <a href="#ab964d2eb1ff1cfba7bca0fb76e51ada9">More...</a><br /></td></tr>
<tr class="separator:ab964d2eb1ff1cfba7bca0fb76e51ada9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a877ea4f2f50935b303574a7032bbf0f6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a877ea4f2f50935b303574a7032bbf0f6">BIG_256_28_bit</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, int i)</td></tr>
<tr class="memdesc:a877ea4f2f50935b303574a7032bbf0f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">return i-th of BIG <a href="#a877ea4f2f50935b303574a7032bbf0f6">More...</a><br /></td></tr>
<tr class="separator:a877ea4f2f50935b303574a7032bbf0f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7182226782ef414b678dba9920e18a2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ab7182226782ef414b678dba9920e18a2">BIG_256_28_lastbits</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, int n)</td></tr>
<tr class="memdesc:ab7182226782ef414b678dba9920e18a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">return least significant bits of a BIG <a href="#ab7182226782ef414b678dba9920e18a2">More...</a><br /></td></tr>
<tr class="separator:ab7182226782ef414b678dba9920e18a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3715b5d4781042b9705f9ec473c56c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ac3715b5d4781042b9705f9ec473c56c5">BIG_256_28_random</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
<tr class="memdesc:ac3715b5d4781042b9705f9ec473c56c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random BIG from a random number generator. <a href="#ac3715b5d4781042b9705f9ec473c56c5">More...</a><br /></td></tr>
<tr class="separator:ac3715b5d4781042b9705f9ec473c56c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af61371a17945b604a208a2b935aec74d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#af61371a17945b604a208a2b935aec74d">BIG_256_28_randomnum</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> n, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
<tr class="memdesc:af61371a17945b604a208a2b935aec74d"><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="#af61371a17945b604a208a2b935aec74d">More...</a><br /></td></tr>
<tr class="separator:af61371a17945b604a208a2b935aec74d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c8fdd55b3ed76326265c534f68d3d81"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a6c8fdd55b3ed76326265c534f68d3d81">BIG_256_28_modmul</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> z, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> n)</td></tr>
<tr class="memdesc:a6c8fdd55b3ed76326265c534f68d3d81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y*z mod n. <a href="#a6c8fdd55b3ed76326265c534f68d3d81">More...</a><br /></td></tr>
<tr class="separator:a6c8fdd55b3ed76326265c534f68d3d81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59acab49451ed4e974c281e4a8d2f2f5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a59acab49451ed4e974c281e4a8d2f2f5">BIG_256_28_moddiv</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> z, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> n)</td></tr>
<tr class="memdesc:a59acab49451ed4e974c281e4a8d2f2f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y/z mod n. <a href="#a59acab49451ed4e974c281e4a8d2f2f5">More...</a><br /></td></tr>
<tr class="separator:a59acab49451ed4e974c281e4a8d2f2f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04d979c4aa571294899bfa3f15580bf2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a04d979c4aa571294899bfa3f15580bf2">BIG_256_28_modsqr</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> n)</td></tr>
<tr class="memdesc:a04d979c4aa571294899bfa3f15580bf2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y^2 mod n. <a href="#a04d979c4aa571294899bfa3f15580bf2">More...</a><br /></td></tr>
<tr class="separator:a04d979c4aa571294899bfa3f15580bf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2e7ef59bb9d7c8affd18ebee14161f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ae2e7ef59bb9d7c8affd18ebee14161f8">BIG_256_28_modneg</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> n)</td></tr>
<tr class="memdesc:ae2e7ef59bb9d7c8affd18ebee14161f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=-y mod n. <a href="#ae2e7ef59bb9d7c8affd18ebee14161f8">More...</a><br /></td></tr>
<tr class="separator:ae2e7ef59bb9d7c8affd18ebee14161f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40efcc479307dfdf215b576a83469b71"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a40efcc479307dfdf215b576a83469b71">BIG_256_28_jacobi</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y)</td></tr>
<tr class="memdesc:a40efcc479307dfdf215b576a83469b71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate jacobi Symbol (x/y) <a href="#a40efcc479307dfdf215b576a83469b71">More...</a><br /></td></tr>
<tr class="separator:a40efcc479307dfdf215b576a83469b71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3dbeb09f8977b6c844bcef46e4b3c1e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a3dbeb09f8977b6c844bcef46e4b3c1e7">BIG_256_28_invmodp</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> n)</td></tr>
<tr class="memdesc:a3dbeb09f8977b6c844bcef46e4b3c1e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=1/y mod n. <a href="#a3dbeb09f8977b6c844bcef46e4b3c1e7">More...</a><br /></td></tr>
<tr class="separator:a3dbeb09f8977b6c844bcef46e4b3c1e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae00e23e7fabf2981b25eebc05996d132"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ae00e23e7fabf2981b25eebc05996d132">BIG_256_28_mod2m</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, int m)</td></tr>
<tr class="memdesc:ae00e23e7fabf2981b25eebc05996d132"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m. <a href="#ae00e23e7fabf2981b25eebc05996d132">More...</a><br /></td></tr>
<tr class="separator:ae00e23e7fabf2981b25eebc05996d132"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae832454893ebd2893dd43466b53fb335"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ae832454893ebd2893dd43466b53fb335">BIG_256_28_dmod2m</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, int m)</td></tr>
<tr class="memdesc:ae832454893ebd2893dd43466b53fb335"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m. <a href="#ae832454893ebd2893dd43466b53fb335">More...</a><br /></td></tr>
<tr class="separator:ae832454893ebd2893dd43466b53fb335"><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="a7ead2232fb4a739ef8f73c3fefd48f29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ead2232fb4a739ef8f73c3fefd48f29">&#9670;&nbsp;</a></span>BIGBITS_256_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BIGBITS_256_28&#160;&#160;&#160;(8*<a class="el" href="config__big__256__28_8h.html#ae89bb6db7acd3aae9eceb056a392abae">MODBYTES_256_28</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Length in bits </p>
</div>
</div>
<a id="a1c7deb16fe58bf6822dc208b4c299967"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c7deb16fe58bf6822dc208b4c299967">&#9670;&nbsp;</a></span>BMASK_256_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BMASK_256_28&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__256__28_8h.html#af025ee034981f7bc32396d376a876188">BASEBITS_256_28</a>)-1)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Mask = 2^BASEBITS-1 </p>
</div>
</div>
<a id="aeef29ac9135b080cdca9ad39010fbe1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeef29ac9135b080cdca9ad39010fbe1e">&#9670;&nbsp;</a></span>DNLEN_256_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DNLEN_256_28&#160;&#160;&#160;2*<a class="el" href="big__256__28_8h.html#acf946fc4a9df0a4306003592cae272d8">NLEN_256_28</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Double length in bytes </p>
</div>
</div>
<a id="af749a414befcf2c9103cb90deae1bd3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af749a414befcf2c9103cb90deae1bd3b">&#9670;&nbsp;</a></span>HBITS_256_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HBITS_256_28&#160;&#160;&#160;(<a class="el" href="config__big__256__28_8h.html#af025ee034981f7bc32396d376a876188">BASEBITS_256_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="aea5c623d16fd9def8b5ec608bb72d9b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea5c623d16fd9def8b5ec608bb72d9b4">&#9670;&nbsp;</a></span>HMASK_256_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HMASK_256_28&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__256__28_8h.html#af749a414befcf2c9103cb90deae1bd3b">HBITS_256_28</a>)-1)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Mask = 2^HBITS-1 </p>
</div>
</div>
<a id="a1fd6315e4e0763ca6b2b12f38c902a57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1fd6315e4e0763ca6b2b12f38c902a57">&#9670;&nbsp;</a></span>NEXCESS_256_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define NEXCESS_256_28&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__256__28_8h.html#af025ee034981f7bc32396d376a876188">BASEBITS_256_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="acf946fc4a9df0a4306003592cae272d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf946fc4a9df0a4306003592cae272d8">&#9670;&nbsp;</a></span>NLEN_256_28</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define NLEN_256_28&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__256__28_8h.html#ae89bb6db7acd3aae9eceb056a392abae">MODBYTES_256_28</a>-1)/<a class="el" href="config__big__256__28_8h.html#af025ee034981f7bc32396d376a876188">BASEBITS_256_28</a>))</td>
</tr>
</table>
</div><div class="memdoc">
<p>length in bytes </p>
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a441a2913ee6e6b8a3065843af84ea61b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a441a2913ee6e6b8a3065843af84ea61b">&#9670;&nbsp;</a></span>BIG_256_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_256_28[<a class="el" href="big__256__28_8h.html#acf946fc4a9df0a4306003592cae272d8">NLEN_256_28</a>]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Define type BIG as array of chunks </p>
</div>
</div>
<a id="ab24e6de2b7e5d7d78b1bac14b13768be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab24e6de2b7e5d7d78b1bac14b13768be">&#9670;&nbsp;</a></span>DBIG_256_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_256_28[<a class="el" href="big__256__28_8h.html#aeef29ac9135b080cdca9ad39010fbe1e">DNLEN_256_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="a4ef176edcca47dbfc2543571d9cc7d61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ef176edcca47dbfc2543571d9cc7d61">&#9670;&nbsp;</a></span>BIG_256_28_add()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_add </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a877ea4f2f50935b303574a7032bbf0f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a877ea4f2f50935b303574a7032bbf0f6">&#9670;&nbsp;</a></span>BIG_256_28_bit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_28_bit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a03ab05da92eb2ea796cb26842b7e77e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03ab05da92eb2ea796cb26842b7e77e3">&#9670;&nbsp;</a></span>BIG_256_28_cmove()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_cmove </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a38842b53345806d95099918c91e0416e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38842b53345806d95099918c91e0416e">&#9670;&nbsp;</a></span>BIG_256_28_comp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_28_comp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a0831bc3b956e7489f966f919f635ee22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0831bc3b956e7489f966f919f635ee22">&#9670;&nbsp;</a></span>BIG_256_28_copy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_copy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="afb4ac61ac3caaf1c89101d90a209177e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb4ac61ac3caaf1c89101d90a209177e">&#9670;&nbsp;</a></span>BIG_256_28_cswap()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_cswap </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a5d690b7e832f23596e67bf1f5e423307"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d690b7e832f23596e67bf1f5e423307">&#9670;&nbsp;</a></span>BIG_256_28_dadd()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_dadd </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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="a0ef3b955adfdc30b9c5434ffc7de8ed0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ef3b955adfdc30b9c5434ffc7de8ed0">&#9670;&nbsp;</a></span>BIG_256_28_dcmove()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_dcmove </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="ae5e7c53b25083e3769b1f1dadb271e35"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5e7c53b25083e3769b1f1dadb271e35">&#9670;&nbsp;</a></span>BIG_256_28_dcomp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_28_dcomp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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="aec1619fb62adb5f7d3e0bc25648c56c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec1619fb62adb5f7d3e0bc25648c56c3">&#9670;&nbsp;</a></span>BIG_256_28_dcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_dcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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="a7739d6ac01a5f5919e70db9151e28253"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7739d6ac01a5f5919e70db9151e28253">&#9670;&nbsp;</a></span>BIG_256_28_ddiv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_ddiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a77563d64e2f0b4176debe1fa60a80b62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77563d64e2f0b4176debe1fa60a80b62">&#9670;&nbsp;</a></span>BIG_256_28_dec()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_dec </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a677d109788b548697770dae0287e2878"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a677d109788b548697770dae0287e2878">&#9670;&nbsp;</a></span>BIG_256_28_dfromBytesLen()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_dfromBytesLen </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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="aeff6e8bd5aa02ec15629660f185d4ecd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeff6e8bd5aa02ec15629660f185d4ecd">&#9670;&nbsp;</a></span>BIG_256_28_diszilch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_28_diszilch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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="a4971f54b70faa1a1b86435be6bf9b9c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4971f54b70faa1a1b86435be6bf9b9c0">&#9670;&nbsp;</a></span>BIG_256_28_div3()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_28_div3 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a3f96cca36d4b5f3eb50651d351874f2c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f96cca36d4b5f3eb50651d351874f2c">&#9670;&nbsp;</a></span>BIG_256_28_dmod()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_dmod </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="ae832454893ebd2893dd43466b53fb335"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae832454893ebd2893dd43466b53fb335">&#9670;&nbsp;</a></span>BIG_256_28_dmod2m()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_dmod2m </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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="accdff89cc25453bc0916a6d757bb2acb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#accdff89cc25453bc0916a6d757bb2acb">&#9670;&nbsp;</a></span>BIG_256_28_dnbits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_28_dnbits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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="adc482b7b6d1f9859d6f558f64de0e5c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc482b7b6d1f9859d6f558f64de0e5c1">&#9670;&nbsp;</a></span>BIG_256_28_dnorm()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_dnorm </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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="a100f5561b2344f026870e2aaa1407f73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a100f5561b2344f026870e2aaa1407f73">&#9670;&nbsp;</a></span>BIG_256_28_doutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_doutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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="a32cfd50006ba099108d95dd49906e37d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a32cfd50006ba099108d95dd49906e37d">&#9670;&nbsp;</a></span>BIG_256_28_drawoutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_drawoutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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="acdec6adf8bb9116f47ffc3d13a1a2a11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acdec6adf8bb9116f47ffc3d13a1a2a11">&#9670;&nbsp;</a></span>BIG_256_28_dscopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_dscopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a99d30720e76c5d19209bceb851c3a345"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99d30720e76c5d19209bceb851c3a345">&#9670;&nbsp;</a></span>BIG_256_28_dshl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_dshl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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="a7fb5f835fcf150b513d0d05c56fb75da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7fb5f835fcf150b513d0d05c56fb75da">&#9670;&nbsp;</a></span>BIG_256_28_dshr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_dshr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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="ab5fc71f9eafdd9d4989f71cb3c4010c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5fc71f9eafdd9d4989f71cb3c4010c5">&#9670;&nbsp;</a></span>BIG_256_28_dsub()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_dsub </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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="afef94b156f0a4a42047ae2ee98bd9306"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afef94b156f0a4a42047ae2ee98bd9306">&#9670;&nbsp;</a></span>BIG_256_28_dsucopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_dsucopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="aee1f0d223f9b39ad2c723011dd55b42c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aee1f0d223f9b39ad2c723011dd55b42c">&#9670;&nbsp;</a></span>BIG_256_28_dzero()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_dzero </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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="a4042f0ef0741d29c29ca604808803e1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4042f0ef0741d29c29ca604808803e1d">&#9670;&nbsp;</a></span>BIG_256_28_fromBytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_fromBytes </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a5eb3022f9db32c07282522095d3af912"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5eb3022f9db32c07282522095d3af912">&#9670;&nbsp;</a></span>BIG_256_28_fromBytesLen()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_fromBytesLen </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="ae595a7812e6997e2f8bfa350e2846be3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae595a7812e6997e2f8bfa350e2846be3">&#9670;&nbsp;</a></span>BIG_256_28_fshl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_28_fshl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="ad1274ef9a23a2cadb30717bf40dae3de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1274ef9a23a2cadb30717bf40dae3de">&#9670;&nbsp;</a></span>BIG_256_28_fshr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_28_fshr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a116a9a195aa03a07d12a8eaf4d3849f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a116a9a195aa03a07d12a8eaf4d3849f4">&#9670;&nbsp;</a></span>BIG_256_28_imul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_imul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="ae35821d56d7ba557bb90f68b10ea1b85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae35821d56d7ba557bb90f68b10ea1b85">&#9670;&nbsp;</a></span>BIG_256_28_inc()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_inc </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="aa861a483021b9d542c71a347c795e6e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa861a483021b9d542c71a347c795e6e1">&#9670;&nbsp;</a></span>BIG_256_28_invmod2m()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_invmod2m </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a3dbeb09f8977b6c844bcef46e4b3c1e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3dbeb09f8977b6c844bcef46e4b3c1e7">&#9670;&nbsp;</a></span>BIG_256_28_invmodp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_invmodp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a1398cb2971ad58ae9d59e717a9b6b1ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1398cb2971ad58ae9d59e717a9b6b1ec">&#9670;&nbsp;</a></span>BIG_256_28_isunity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_28_isunity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="afbf2db16ec41de1fa64c3d591303e41d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbf2db16ec41de1fa64c3d591303e41d">&#9670;&nbsp;</a></span>BIG_256_28_iszilch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_28_iszilch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a40efcc479307dfdf215b576a83469b71"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a40efcc479307dfdf215b576a83469b71">&#9670;&nbsp;</a></span>BIG_256_28_jacobi()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_28_jacobi </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="ab7182226782ef414b678dba9920e18a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7182226782ef414b678dba9920e18a2">&#9670;&nbsp;</a></span>BIG_256_28_lastbits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_28_lastbits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a9bfef5bfb03085cd859da962bfbf9034"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9bfef5bfb03085cd859da962bfbf9034">&#9670;&nbsp;</a></span>BIG_256_28_mod()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_mod </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="ae00e23e7fabf2981b25eebc05996d132"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae00e23e7fabf2981b25eebc05996d132">&#9670;&nbsp;</a></span>BIG_256_28_mod2m()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_mod2m </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a59acab49451ed4e974c281e4a8d2f2f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59acab49451ed4e974c281e4a8d2f2f5">&#9670;&nbsp;</a></span>BIG_256_28_moddiv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_moddiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a6c8fdd55b3ed76326265c534f68d3d81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c8fdd55b3ed76326265c534f68d3d81">&#9670;&nbsp;</a></span>BIG_256_28_modmul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_modmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="ae2e7ef59bb9d7c8affd18ebee14161f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2e7ef59bb9d7c8affd18ebee14161f8">&#9670;&nbsp;</a></span>BIG_256_28_modneg()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_modneg </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a04d979c4aa571294899bfa3f15580bf2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04d979c4aa571294899bfa3f15580bf2">&#9670;&nbsp;</a></span>BIG_256_28_modsqr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_modsqr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a44358ec27a552db4d42e1652a8f3cd12"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44358ec27a552db4d42e1652a8f3cd12">&#9670;&nbsp;</a></span>BIG_256_28_monty()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_monty </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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="af7f8ba125fa00c0671704f8065a64e30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7f8ba125fa00c0671704f8065a64e30">&#9670;&nbsp;</a></span>BIG_256_28_mul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_mul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a896ae2614e9b95b2f7a0cdb5de8f5e11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a896ae2614e9b95b2f7a0cdb5de8f5e11">&#9670;&nbsp;</a></span>BIG_256_28_nbits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_28_nbits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a2e1b831b24679406e0ad181b23fc3dd5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e1b831b24679406e0ad181b23fc3dd5">&#9670;&nbsp;</a></span>BIG_256_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_256_28_norm </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a657c178e39eb86021f18f2edce140b04"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a657c178e39eb86021f18f2edce140b04">&#9670;&nbsp;</a></span>BIG_256_28_one()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_one </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a45f62c90901434ca8c22fd7b5ab69432"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45f62c90901434ca8c22fd7b5ab69432">&#9670;&nbsp;</a></span>BIG_256_28_or()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_or </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a30b918cd0cab2b6762da39f522f11140"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30b918cd0cab2b6762da39f522f11140">&#9670;&nbsp;</a></span>BIG_256_28_output()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_output </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="ab964d2eb1ff1cfba7bca0fb76e51ada9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab964d2eb1ff1cfba7bca0fb76e51ada9">&#9670;&nbsp;</a></span>BIG_256_28_parity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_28_parity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a578990347f8ca85eea0cd2b5cf4eaaf1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a578990347f8ca85eea0cd2b5cf4eaaf1">&#9670;&nbsp;</a></span>BIG_256_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_256_28_pmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a27820fd216b00e63943900f62afbd78c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27820fd216b00e63943900f62afbd78c">&#9670;&nbsp;</a></span>BIG_256_28_pxmul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_pxmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="ac3715b5d4781042b9705f9ec473c56c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3715b5d4781042b9705f9ec473c56c5">&#9670;&nbsp;</a></span>BIG_256_28_random()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_random </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="af61371a17945b604a208a2b935aec74d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af61371a17945b604a208a2b935aec74d">&#9670;&nbsp;</a></span>BIG_256_28_randomnum()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_randomnum </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a8626d88b1bf8cf7aff25c7fde983b726"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8626d88b1bf8cf7aff25c7fde983b726">&#9670;&nbsp;</a></span>BIG_256_28_rawoutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_rawoutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a7658779f094b599a129e7697c990baf6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7658779f094b599a129e7697c990baf6">&#9670;&nbsp;</a></span>BIG_256_28_rcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_rcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="ae4f351cc457451bef252ab2cda4c7311"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4f351cc457451bef252ab2cda4c7311">&#9670;&nbsp;</a></span>BIG_256_28_sdcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_sdcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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="ad522cd24b6c1f839999974f6acad1723"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad522cd24b6c1f839999974f6acad1723">&#9670;&nbsp;</a></span>BIG_256_28_sdiv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_sdiv </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="af72c8e442888b472223e2a8d44d86c30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af72c8e442888b472223e2a8d44d86c30">&#9670;&nbsp;</a></span>BIG_256_28_sducopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_sducopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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="a64951278639c2065b1ee6c3cb5bc3b99"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64951278639c2065b1ee6c3cb5bc3b99">&#9670;&nbsp;</a></span>BIG_256_28_shl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_shl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="ac897e470de2052dd8d094c867dc53650"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac897e470de2052dd8d094c867dc53650">&#9670;&nbsp;</a></span>BIG_256_28_shr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_shr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a1f68dfface1a49778efb80d7409ad24a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f68dfface1a49778efb80d7409ad24a">&#9670;&nbsp;</a></span>BIG_256_28_smul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_smul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a085ef8f8c5469bd7ac559ae81099a247"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a085ef8f8c5469bd7ac559ae81099a247">&#9670;&nbsp;</a></span>BIG_256_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_256_28_split </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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="a1d33a9459cd5ea616784046005fc6f40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d33a9459cd5ea616784046005fc6f40">&#9670;&nbsp;</a></span>BIG_256_28_sqr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_sqr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a4000478e901513a32681a2edcb3a88dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4000478e901513a32681a2edcb3a88dd">&#9670;&nbsp;</a></span>BIG_256_28_ssn()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int BIG_256_28_ssn </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a7159990d0c51b1ffae3a3dc335858d19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7159990d0c51b1ffae3a3dc335858d19">&#9670;&nbsp;</a></span>BIG_256_28_sub()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_sub </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="a2f7ce434aa163e584027c8495f3a561d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f7ce434aa163e584027c8495f3a561d">&#9670;&nbsp;</a></span>BIG_256_28_toBytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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="aab6a408e01aaab2ee65c2440d8075d94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab6a408e01aaab2ee65c2440d8075d94">&#9670;&nbsp;</a></span>BIG_256_28_zero()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void BIG_256_28_zero </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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>