Merge pull request #29 from apache/v2

V2
diff --git a/README.md b/README.md
index 069c26c..1760ecb 100644
--- a/README.md
+++ b/README.md
@@ -18,6 +18,7 @@
 What's New
 ============================
 
+* [apache-milagro-crypt0-c-2.0.1-incubating](https://github.com/apache/incubator-milagro-crypto-c/releases/tag/2.0.1) - Adding Shamir's Secret Sharing and Paillier encryption
 * [apache-milagro-dta-0.1.0-incubating](https://github.com/apache/incubator-milagro-dta/releases/tag/0.1.0)- Initial release of the Decentralized Trust Authority server
 * [apache-milagro-crypto-js-1.0.0-incubating](https://github.com/apache/incubator-milagro-crypto-js/releases/tag/1.0.0)- Initial release of the Crypto JS Library
 * [apache-milagro-crypto-c-1.0.0-incubating](https://github.com/apache/incubator-milagro-crypto-c/releases/tag/1.0.0)- Initial release of the Crypto C Library
diff --git a/docs/amcl-c-api.md b/docs/amcl-c-api-2.0.0.md
similarity index 72%
rename from docs/amcl-c-api.md
rename to docs/amcl-c-api-2.0.0.md
index bbcb5ec..69f5fab 100644
--- a/docs/amcl-c-api.md
+++ b/docs/amcl-c-api-2.0.0.md
@@ -1,17 +1,17 @@
 ---
-id: amcl-c-api
-title: AMCL C API
-sidebar_label: AMCL C API
+id: amcl-c-api-2.0.0
+title: AMCL C API 2.0.0
+sidebar_label: AMCL C API 2.0.0
 ---
 
 Doxygen support is available for Milagro Crypto Library.
 
 An online version of the Doxygen output is available for viewing in a web browser <a href="/cdocs/index.html" target="_blank">here</a>.
 
-PDF of the Doxygen output is available for download <a href="/files/amcl-doxygen-1.0.0.pdf" target="_blank">here</a>.
+PDF of the Doxygen output is available for download <a href="/files/amcl-doxygen-2.0.0.pdf" target="_blank">here</a>.
 
 
 
 <!--
 Supported admonition types are: caution, note, important, tip, warning.
--->
\ No newline at end of file
+-->
diff --git a/docs/contributor-guide.md b/docs/contributor-guide.md
index 17d459b..10d9431 100644
--- a/docs/contributor-guide.md
+++ b/docs/contributor-guide.md
@@ -11,7 +11,7 @@
 
 <a href="mailto:dev-subscribe@milagro.apache.org?Subject=Subscribe" target="_top">dev-subscribe @ milagro.apache.org</a>
 
-## Issues
+## Repositories
 
 Our current GitHub repositories are:
 
@@ -25,4 +25,4 @@
 
 <!--
 Supported admonition types are: caution, note, important, tip, warning.
--->
\ No newline at end of file
+-->
diff --git a/docs/downloads.md b/docs/downloads.md
index 70daab1..de35941 100644
--- a/docs/downloads.md
+++ b/docs/downloads.md
@@ -14,6 +14,24 @@
 
 For fast downloads, current source distributions are hosted on mirror servers; older source distributions are in the archive. For security, public keys, hashes and signature files are always hosted at Apache.
 
+## Apache Milagro Crypto C Incubating v2.0.1
+
+This is the initial release of the Apache Milagro Crypto C library.
+
+### Source Release
+
+|[tar.gz](http://www.apache.org/dyn/closer.cgi/incubator/milagro/apache-milagro-crypto-c-2.0.1-incubating/apache-milagro-crypto-c-2.0.1-incubating-src.tar.gz)|[sha512](https://www.apache.org/dist/incubator/milagro/apache-milagro-crypto-c-2.0.1-incubating/apache-milagro-crypto-c-2.0.1-incubating-src.tar.gz.sha512)|[signature](https://www.apache.org/dist/incubator/milagro/apache-milagro-crypto-c-2.0.1-incubating/apache-milagro-crypto-c-2.0.1-incubating-src.tar.gz.asc)|
+| ----- | ----- | ----- |
+
+### Release Notes
+
+The latest release notes can be found [here](https://github.com/apache/incubator-milagro-crypto-c/releases/tag/2.0.1)
+
+### Previous Releases
+
+1.0.0 (see below for details)
+
+
 ## Apache Milagro Decentralized Trust Authority Incubating v0.1.0 (Alpha Release)
 
 This is the initial release of the Apache Milagro Decentralized Trust Authority server.
@@ -68,4 +86,4 @@
 
 <!--
 Supported admonition types are: caution, note, important, tip, warning.
--->
\ No newline at end of file
+-->
diff --git a/docs/milagro-intro.md b/docs/milagro-intro.md
index c4f70cf..38f9eaa 100644
--- a/docs/milagro-intro.md
+++ b/docs/milagro-intro.md
@@ -4,7 +4,7 @@
 sidebar_label: Milagro Introduction
 ---
 
-Apache Milagro is core security infrastructure and crypto libraries purpose-built for decentralized networks and distributed systems, while also providing value to cloud-connected app-centric software and IoT devices that require Internet scale.
+Apache Milagro is a set of core security infrastructure and crypto libraries purpose-built for decentralized networks and distributed systems, while also providing value to cloud-connected app-centric software and IoT devices that require Internet scale.
 
 Milagro's purpose is to provide a secure and positive open source alternative to centralized and proprietary monolithic trust providers such as commercial certificate authorities and the certificate backed cryptosystems that rely on them.
 
@@ -92,4 +92,4 @@
 
 <!--
 Supported admonition types are: caution, note, important, tip, warning.
--->
\ No newline at end of file
+-->
diff --git a/docs/support.md b/docs/support.md
index 2f1c99e..c8d09be 100644
--- a/docs/support.md
+++ b/docs/support.md
@@ -4,9 +4,15 @@
 sidebar_label: Support
 ---
 ## Issues
-Please report any bugs or feature requests using the "Issues" tab on our GitHub repositories.  
 
-See our [Contributing](contributor-guide.md) page for a current list.
+Please report any bugs or feature requests using the "Issues" tab within our GitHub repositories:
+
+* [**incubator-milagro** (used to build this website)](https://github.com/apache/incubator-milagro/issues)
+* [**incubator-milagro-crypto-c** (standards compliant cryptographic library written in C)](https://github.com/apache/incubator-milagro-crypto-c/issues)
+* [**incubator-milagro-crypto-js** (standards compliant cryptographic library written in JavaScript)](https://github.com/apache/incubator-milagro-crypto-js/issues)
+* [**incubator-milagro-crypto-rust** (standards compliant cryptographic library written in Rust)](https://github.com/apache/incubator-milagro-crypto-rust/issues)
+* [**incubator-milagro-dta** (Decentralized Trust Authority (D-TA) - a collaborative key management server)](https://github.com/apache/incubator-milagro-dta/issues)
+
 ## Get Involved
 To join the Milagro developer's mailing list, please send an email to:
 <a href="mailto:dev-subscribe@milagro.apache.org?Subject=Subscribe" target="_top">dev-subscribe @ milagro.apache.org</a>
@@ -22,4 +28,4 @@
 
 <!--
 Supported admonition types are: caution, note, important, tip, warning.
--->
\ No newline at end of file
+-->
diff --git a/website/sidebars.json b/website/sidebars.json
index 1d99b29..719adcd 100644
--- a/website/sidebars.json
+++ b/website/sidebars.json
@@ -10,12 +10,12 @@
     "AMCL Library": 
       [
         "amcl-overview",                    
-        "amcl-c-api",
+        "amcl-c-api-2.0.0",
 				{
 		"type": "subcategory",
-		"label": "AMCL JavaScript API",
+		"label": "AMCL JavaScript API 1.0.0",
 		"ids": [
-				"cryptojs/amcl-javascript-api",
+				"cryptojs/amcl-javascript-api-1.0.0",
 				"cryptojs/aes",
 				"cryptojs/big",
 				"cryptojs/bls",
@@ -78,3 +78,4 @@
     ]
   }
 }
+
diff --git a/website/static/cdocs/amcl_8h_source.html b/website/static/cdocs/amcl_8h_source.html
index 4d65d41..1bd7045 100644
--- a/website/static/cdocs/amcl_8h_source.html
+++ b/website/static/cdocs/amcl_8h_source.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>AMCL: amcl.h Source File</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -12,6 +12,12 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/x-mathjax-config">
+  MathJax.Hub.Config({
+    extensions: ["tex2jax.js"],
+    jax: ["input/TeX","output/HTML-CSS"],
+});
+</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
@@ -29,21 +35,18 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.15 -->
+<!-- Generated by Doxygen 1.8.13 -->
 <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>
+</script>
 <div id="main-nav"></div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -69,13 +72,13 @@
 <div class="title">amcl.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">        Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">        or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">        distributed with this work for additional information</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">        regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">        to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">        &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">        with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">        http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">        Unless required by applicable law or agreed to in writing,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">        software distributed under the License is distributed on an</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">        &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">        KIND, either express or implied.  See the License for the</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">        specific language governing permissions and limitations</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">        under the License.</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#ifndef AMCL_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#define AMCL_H</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;stdbool.h&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;inttypes.h&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="arch_8h.html">arch.h</a>&quot;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#ifdef CMAKE</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define AMCL_VERSION_MAJOR 0 </span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#define AMCL_VERSION_MINOR 1 </span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define AMCL_VERSION_PATCH 0 </span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#define OS &quot;Windows&quot;                               </span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">/* modulus types */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NOT_SPECIAL 0          </span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#define PSEUDO_MERSENNE 1      </span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define MONTGOMERY_FRIENDLY 3  </span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define GENERALISED_MERSENNE 2 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor"></span><span class="comment">/* Curve types */</span><span class="preprocessor"></span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#define WEIERSTRASS 0 </span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#define EDWARDS 1     </span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define MONTGOMERY 2  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor"></span><span class="comment">/* Pairing-Friendly types */</span><span class="preprocessor"></span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#define NOT 0</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define BN 1</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define BLS 2</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#define D_TYPE 0</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#define M_TYPE 1</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define AMCL_FP_ZERO 0</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#define AMCL_FP_UNITY 1</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#define AMCL_FP_SPARSER 2</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#define AMCL_FP_SPARSE 3</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#define AMCL_FP_DENSE 4</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="structhash256.html">   69</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;{</div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="structhash256.html#aed90ef35ddc8f515e666596360090338">   71</a></span>&#160;    <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> length[2]; </div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="structhash256.html#a7a5eb377b3767a3adc72cdd837776008">   72</a></span>&#160;    <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> h[8];      </div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="structhash256.html#a2b99f192248cb4808b4803bdf5480b37">   73</a></span>&#160;    <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> w[80];     </div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="structhash256.html#ab4db96c3d30dce3db80bfbc92ca0aecf">   74</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structhash256.html#ab4db96c3d30dce3db80bfbc92ca0aecf">hlen</a>;           </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;} <a class="code" href="structhash256.html">hash256</a>;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="structhash512.html">   79</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;{</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="structhash512.html#a71f1b748d99be6cd676fc5a7b3f291c9">   81</a></span>&#160;    <a class="code" href="arch_8h.html#a88e152b3d86c9e2106240fa6cc1cbd9c">unsign64</a> length[2]; </div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="structhash512.html#aad724a08b633ae81394287a4c7348141">   82</a></span>&#160;    <a class="code" href="arch_8h.html#a88e152b3d86c9e2106240fa6cc1cbd9c">unsign64</a> h[8];      </div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="structhash512.html#a8a75674186c356439504762c753c9f14">   83</a></span>&#160;    <a class="code" href="arch_8h.html#a88e152b3d86c9e2106240fa6cc1cbd9c">unsign64</a> w[80];     </div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="structhash512.html#a56689ae69347d42cf0fa4a424e789832">   84</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structhash512.html#a56689ae69347d42cf0fa4a424e789832">hlen</a>;           </div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;} <a class="code" href="structhash512.html">hash512</a>;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">typedef</span> <a class="code" href="structhash512.html">hash512</a> <a class="code" href="structhash512.html">hash384</a>;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="structsha3.html">   93</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;{</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="structsha3.html#a73902f518f7a5d7db0f40b71b2d52f09">   95</a></span>&#160;    <a class="code" href="arch_8h.html#a88e152b3d86c9e2106240fa6cc1cbd9c">unsign64</a> <a class="code" href="structsha3.html#a73902f518f7a5d7db0f40b71b2d52f09">length</a>;   </div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="structsha3.html#aa755ca9fd19e01f6181c7833188cb48e">   96</a></span>&#160;    <a class="code" href="arch_8h.html#a88e152b3d86c9e2106240fa6cc1cbd9c">unsign64</a> S[5][5];  </div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="structsha3.html#a495b3f25ef3e600507845be265f87dee">   97</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structsha3.html#a495b3f25ef3e600507845be265f87dee">rate</a>;          </div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="structsha3.html#a826b7a50820b159656a017354dbfc3d7">   98</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structsha3.html#a826b7a50820b159656a017354dbfc3d7">len</a>;           </div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;} <a class="code" href="structsha3.html">sha3</a>;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="preprocessor">#define SHA256 32 </span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor">#define SHA384 48 </span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">#define SHA512 64 </span></div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="preprocessor">#define SHA3_HASH224 28 </span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor">#define SHA3_HASH256 32 </span></div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor">#define SHA3_HASH384 48 </span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor">#define SHA3_HASH512 64 </span></div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#define SHAKE128 16 </span></div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="preprocessor">#define SHAKE256 32 </span></div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor"></span><span class="comment">/* NewHope parameters */</span><span class="preprocessor"></span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment">//q= 12289</span></div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor">#define RLWE_PRIME 0x3001       // q in Hex</span></div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor">#define RLWE_LGN 10                     // Degree n=2^LGN</span></div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor">#define RLWE_ND 0xF7002FFF      // 1/(R-q) mod R</span></div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">#define RLWE_ONE 0x2AC8         // R mod q</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor">#define RLWE_R2MODP 0x1620      // R^2 mod q</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment">/* Symmetric Encryption AES structure */</span></div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="preprocessor">#define ECB   0  </span></div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor">#define CBC   1  </span></div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor">#define CFB1  2  </span></div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="preprocessor">#define CFB2  3  </span></div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor">#define CFB4  5  </span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor">#define OFB1  14 </span></div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor">#define OFB2  15 </span></div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor">#define OFB4  17 </span></div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor">#define OFB8  21 </span></div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="preprocessor">#define OFB16 29 </span></div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#define CTR1  30 </span></div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="preprocessor">#define CTR2  31 </span></div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="preprocessor">#define CTR4  33 </span></div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="preprocessor">#define CTR8  37 </span></div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="preprocessor">#define CTR16 45 </span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="preprocessor">#define uchar unsigned char  </span></div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="structamcl__aes.html">  149</a></span>&#160;<span class="preprocessor">typedef struct</span></div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;{</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="structamcl__aes.html#a9b3c86f641f2a16c92a68268811708c6">  151</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structamcl__aes.html#a9b3c86f641f2a16c92a68268811708c6">Nk</a>;            </div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="structamcl__aes.html#ad9bc7bd0b4cf5f9aa28b11306b1ef982">  152</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structamcl__aes.html#ad9bc7bd0b4cf5f9aa28b11306b1ef982">Nr</a>;            </div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="structamcl__aes.html#afcfd230897e7a79882b5ebcfecd6f363">  153</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structamcl__aes.html#afcfd230897e7a79882b5ebcfecd6f363">mode</a>;          </div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="structamcl__aes.html#aaaa606697b758b3185a2685d99deae0b">  154</a></span>&#160;    <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> fkey[60]; </div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="structamcl__aes.html#a956e83d4f4acd4ba68610f73c9ddbe07">  155</a></span>&#160;    <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> rkey[60]; </div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="structamcl__aes.html#aa6043d7c4791ba650ed67bcf46cdb7e7">  156</a></span>&#160;    <span class="keywordtype">char</span> f[16];        </div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;} <a class="code" href="structamcl__aes.html">amcl_aes</a>;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="comment">/* AES-GCM suppport.  */</span></div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="preprocessor">#define GCM_ACCEPTING_HEADER 0   </span></div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="preprocessor">#define GCM_ACCEPTING_CIPHER 1   </span></div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="preprocessor">#define GCM_NOT_ACCEPTING_MORE 2 </span></div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="preprocessor">#define GCM_FINISHED 3           </span></div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="preprocessor">#define GCM_ENCRYPTING 0         </span></div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor">#define GCM_DECRYPTING 1         </span></div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="structgcm.html">  173</a></span>&#160;<span class="preprocessor">typedef struct</span></div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;{</div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="structgcm.html#ad99ccb50a1022e937f9297198d44ab75">  175</a></span>&#160;    <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> table[128][4]; </div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="structgcm.html#a6d96d37eb27ff5d03ab977473f157b21">  176</a></span>&#160;    <a class="code" href="arch_8h.html#aa8ddf20cdd716b652e76e23e5e700893">uchar</a> stateX[16];       </div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="structgcm.html#ab563f98721cb4bc12047849582f296c9">  177</a></span>&#160;    <a class="code" href="arch_8h.html#aa8ddf20cdd716b652e76e23e5e700893">uchar</a> Y_0[16];          </div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="structgcm.html#a1884ba7add128b711fec4270eeb17daf">  178</a></span>&#160;    <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> lenA[2];       </div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="structgcm.html#a1bd72fc4a946169be6734d6f1776bb7c">  179</a></span>&#160;    <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> lenC[2];       </div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="structgcm.html#ad41a374b5dcb99633c068765d1f801ee">  180</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structgcm.html#ad41a374b5dcb99633c068765d1f801ee">status</a>;             </div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="structgcm.html#ab0fe1c4736959492b5ffbefa12458cf9">  181</a></span>&#160;    <a class="code" href="structamcl__aes.html">amcl_aes</a> <a class="code" href="structgcm.html#ab0fe1c4736959492b5ffbefa12458cf9">a</a>;             </div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;} <a class="code" href="structgcm.html">gcm</a>;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="comment">/* Marsaglia &amp; Zaman Random number generator constants */</span></div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="preprocessor">#define NK   21 </span></div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="preprocessor">#define NJ   6  </span></div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="preprocessor">#define NV   8  </span></div><div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="structcsprng.html">  195</a></span>&#160;<span class="preprocessor">typedef struct</span></div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;{</div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="structcsprng.html#a7995ef3e74e5d34984d4d0eb38dffd9e">  197</a></span>&#160;    <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> ira[NK]; </div><div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="structcsprng.html#a2a97b45585ee7203d10337938c1f782c">  198</a></span>&#160;    <span class="keywordtype">int</span>      <a class="code" href="structcsprng.html#a2a97b45585ee7203d10337938c1f782c">rndptr</a>;  </div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="structcsprng.html#a821053dc129bedb1717b4b224bd6354b">  199</a></span>&#160;    <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> <a class="code" href="structcsprng.html#a821053dc129bedb1717b4b224bd6354b">borrow</a>;  </div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="structcsprng.html#a3848c543582da2ccacfc910f3644a3b4">  200</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structcsprng.html#a3848c543582da2ccacfc910f3644a3b4">pool_ptr</a>;     </div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="structcsprng.html#a2ac19b58bd7c9bab6fbc9ad394c41d2a">  201</a></span>&#160;    <span class="keywordtype">char</span> pool[32];    </div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;} <a class="code" href="structcsprng.html">csprng</a>;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="structoctet.html">  209</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;{</div><div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="structoctet.html#aac7aa1ab827fcb609e3c557b27ca8ac4">  211</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structoctet.html#aac7aa1ab827fcb609e3c557b27ca8ac4">len</a>;   </div><div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="structoctet.html#a84f60e49fa04f7f0fba171374af1d167">  212</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structoctet.html#a84f60e49fa04f7f0fba171374af1d167">max</a>;   </div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="structoctet.html#a2cb4746b64e9e31af123be91c0733e67">  213</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="structoctet.html#a2cb4746b64e9e31af123be91c0733e67">val</a>; </div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;} <a class="code" href="structoctet.html">octet</a>;</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="comment">/* Octet string handlers */</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_output(<a class="code" href="structoctet.html">octet</a> *O);</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_output_string(<a class="code" href="structoctet.html">octet</a> *O);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_clear(<a class="code" href="structoctet.html">octet</a> *O);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  OCT_comp(<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  OCT_ncomp(<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *P,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_jstring(<a class="code" href="structoctet.html">octet</a> *O,<span class="keywordtype">char</span> *s);</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_jbytes(<a class="code" href="structoctet.html">octet</a> *O,<span class="keywordtype">char</span> *s,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_jbyte(<a class="code" href="structoctet.html">octet</a> *O,<span class="keywordtype">int</span> b,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_joctet(<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_xor(<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_empty(<a class="code" href="structoctet.html">octet</a> *O);</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> OCT_pad(<a class="code" href="structoctet.html">octet</a> *O,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_tobase64(<span class="keywordtype">char</span> *b,<a class="code" href="structoctet.html">octet</a> *O);</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_frombase64(<a class="code" href="structoctet.html">octet</a> *O,<span class="keywordtype">char</span> *b);</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_copy(<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_xorbyte(<a class="code" href="structoctet.html">octet</a> *O,<span class="keywordtype">int</span> m);</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_chop(<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *P,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_jint(<a class="code" href="structoctet.html">octet</a> *O,<span class="keywordtype">int</span> m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_rand(<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_shl(<a class="code" href="structoctet.html">octet</a> *O,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_fromHex(<a class="code" href="structoctet.html">octet</a> *dst,<span class="keywordtype">char</span> *src);</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_toHex(<a class="code" href="structoctet.html">octet</a> *src,<span class="keywordtype">char</span> *dst);</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_toStr(<a class="code" href="structoctet.html">octet</a> *src,<span class="keywordtype">char</span> *dst);</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;<span class="comment">/* Hash function */</span></div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> HASH256_init(<a class="code" href="structhash256.html">hash256</a> *H);</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> HASH256_process(<a class="code" href="structhash256.html">hash256</a> *H,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> HASH256_hash(<a class="code" href="structhash256.html">hash256</a> *H,<span class="keywordtype">char</span> *h);</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> HASH384_init(<a class="code" href="structhash512.html">hash384</a> *H);</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> HASH384_process(<a class="code" href="structhash512.html">hash384</a> *H,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> HASH384_hash(<a class="code" href="structhash512.html">hash384</a> *H,<span class="keywordtype">char</span> *h);</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> HASH512_init(<a class="code" href="structhash512.html">hash512</a> *H);</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> HASH512_process(<a class="code" href="structhash512.html">hash512</a> *H,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> HASH512_hash(<a class="code" href="structhash512.html">hash512</a> *H,<span class="keywordtype">char</span> *h);</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span>  SHA3_init(<a class="code" href="structsha3.html">sha3</a> *H,<span class="keywordtype">int</span> t);</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span>  SHA3_process(<a class="code" href="structsha3.html">sha3</a> *H,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span>  SHA3_hash(<a class="code" href="structsha3.html">sha3</a> *H,<span class="keywordtype">char</span> *h);</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span>  SHA3_shake(<a class="code" href="structsha3.html">sha3</a> *H,<span class="keywordtype">char</span> *h,<span class="keywordtype">int</span> len);</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span>  SHA3_squeeze(<a class="code" href="structsha3.html">sha3</a> *H,<span class="keywordtype">char</span> *h,<span class="keywordtype">int</span> len);</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;<span class="comment">/* AES functions */</span></div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> AES_reset(<a class="code" href="structamcl__aes.html">amcl_aes</a> *A,<span class="keywordtype">int</span> m,<span class="keywordtype">char</span> *iv);</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> AES_getreg(<a class="code" href="structamcl__aes.html">amcl_aes</a> *A,<span class="keywordtype">char</span> * f);</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> AES_init(<a class="code" href="structamcl__aes.html">amcl_aes</a> *A,<span class="keywordtype">int</span> m,<span class="keywordtype">int</span> n,<span class="keywordtype">char</span> *k,<span class="keywordtype">char</span> *iv);</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> AES_ecb_encrypt(<a class="code" href="structamcl__aes.html">amcl_aes</a> *A,<a class="code" href="arch_8h.html#aa8ddf20cdd716b652e76e23e5e700893">uchar</a> * b);</div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> AES_ecb_decrypt(<a class="code" href="structamcl__aes.html">amcl_aes</a> *A,<a class="code" href="arch_8h.html#aa8ddf20cdd716b652e76e23e5e700893">uchar</a> * b);</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;<span class="keyword">extern</span> <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> AES_encrypt(<a class="code" href="structamcl__aes.html">amcl_aes</a> *A,<span class="keywordtype">char</span> *b );</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;<span class="keyword">extern</span> <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> AES_decrypt(<a class="code" href="structamcl__aes.html">amcl_aes</a> *A,<span class="keywordtype">char</span> *b);</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> AES_end(<a class="code" href="structamcl__aes.html">amcl_aes</a> *A);</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;</div><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;<span class="comment">/* AES-GCM functions */</span></div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> GCM_init(<a class="code" href="structgcm.html">gcm</a> *G,<span class="keywordtype">int</span> nk,<span class="keywordtype">char</span> *k,<span class="keywordtype">int</span> n,<span class="keywordtype">char</span> *iv);</div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> GCM_add_header(<a class="code" href="structgcm.html">gcm</a> *G,<span class="keywordtype">char</span> *b,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> GCM_add_plain(<a class="code" href="structgcm.html">gcm</a> *G,<span class="keywordtype">char</span> *c,<span class="keywordtype">char</span> *p,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> GCM_add_cipher(<a class="code" href="structgcm.html">gcm</a> *G,<span class="keywordtype">char</span> *p,<span class="keywordtype">char</span> *c,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> GCM_finish(<a class="code" href="structgcm.html">gcm</a> *G,<span class="keywordtype">char</span> *t);</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;</div><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;<span class="comment">/* random numbers */</span></div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> RAND_seed(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> n,<span class="keywordtype">char</span> *b);</div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> RAND_clean(<a class="code" href="structcsprng.html">csprng</a> *R);</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> RAND_byte(<a class="code" href="structcsprng.html">csprng</a> *R);</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;</div><div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structgcm_html"><div class="ttname"><a href="structgcm.html">gcm</a></div><div class="ttdoc">GCM mode instance, using AES internally.</div><div class="ttdef"><b>Definition:</b> amcl.h:173</div></div>
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">    Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">    or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">    distributed with this work for additional information</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">    regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">    to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">    &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">    with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">    http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">    Unless required by applicable law or agreed to in writing,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">    software distributed under the License is distributed on an</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">    &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">    KIND, either express or implied.  See the License for the</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">    specific language governing permissions and limitations</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">    under the License.</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#ifndef AMCL_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#define AMCL_H</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;stdbool.h&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;inttypes.h&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="arch_8h.html">arch.h</a>&quot;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#ifdef CMAKE</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define AMCL_VERSION_MAJOR 2 </span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#define AMCL_VERSION_MINOR 0 </span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define AMCL_VERSION_PATCH 0 </span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#define OS &quot;Linux&quot;                               </span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">/* modulus types */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NOT_SPECIAL 0          </span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#define PSEUDO_MERSENNE 1      </span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define MONTGOMERY_FRIENDLY 3  </span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define GENERALISED_MERSENNE 2 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor"></span><span class="comment">/* Curve types */</span><span class="preprocessor"></span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#define WEIERSTRASS 0 </span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#define EDWARDS 1     </span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define MONTGOMERY 2  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor"></span><span class="comment">/* Pairing-Friendly types */</span><span class="preprocessor"></span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#define NOT 0</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define BN 1</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define BLS 2</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#define D_TYPE 0</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#define M_TYPE 1</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define AMCL_FP_ZERO 0</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#define AMCL_FP_UNITY 1</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#define AMCL_FP_SPARSER 2</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#define AMCL_FP_SPARSE 3</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#define AMCL_FP_DENSE 4</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="structhash256.html">   69</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;{</div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="structhash256.html#aed90ef35ddc8f515e666596360090338">   71</a></span>&#160;    <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> length[2]; </div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="structhash256.html#a7a5eb377b3767a3adc72cdd837776008">   72</a></span>&#160;    <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> h[8];      </div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="structhash256.html#a2b99f192248cb4808b4803bdf5480b37">   73</a></span>&#160;    <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> w[80]; </div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="structhash256.html#ab4db96c3d30dce3db80bfbc92ca0aecf">   74</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structhash256.html#ab4db96c3d30dce3db80bfbc92ca0aecf">hlen</a>;       </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;} <a class="code" href="structhash256.html">hash256</a>;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="structhash512.html">   79</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;{</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="structhash512.html#a71f1b748d99be6cd676fc5a7b3f291c9">   81</a></span>&#160;    <a class="code" href="arch_8h.html#a88e152b3d86c9e2106240fa6cc1cbd9c">unsign64</a> length[2]; </div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="structhash512.html#aad724a08b633ae81394287a4c7348141">   82</a></span>&#160;    <a class="code" href="arch_8h.html#a88e152b3d86c9e2106240fa6cc1cbd9c">unsign64</a> h[8];      </div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="structhash512.html#a8a75674186c356439504762c753c9f14">   83</a></span>&#160;    <a class="code" href="arch_8h.html#a88e152b3d86c9e2106240fa6cc1cbd9c">unsign64</a> w[80]; </div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="structhash512.html#a56689ae69347d42cf0fa4a424e789832">   84</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structhash512.html#a56689ae69347d42cf0fa4a424e789832">hlen</a>;           </div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;} <a class="code" href="structhash512.html">hash512</a>;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">typedef</span> <a class="code" href="structhash512.html">hash512</a> <a class="code" href="structhash512.html">hash384</a>;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="structsha3.html">   93</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;{</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="structsha3.html#a73902f518f7a5d7db0f40b71b2d52f09">   95</a></span>&#160;    <a class="code" href="arch_8h.html#a88e152b3d86c9e2106240fa6cc1cbd9c">unsign64</a> <a class="code" href="structsha3.html#a73902f518f7a5d7db0f40b71b2d52f09">length</a>;   </div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="structsha3.html#aa755ca9fd19e01f6181c7833188cb48e">   96</a></span>&#160;    <a class="code" href="arch_8h.html#a88e152b3d86c9e2106240fa6cc1cbd9c">unsign64</a> S[5][5];  </div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="structsha3.html#a495b3f25ef3e600507845be265f87dee">   97</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structsha3.html#a495b3f25ef3e600507845be265f87dee">rate</a>;          </div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="structsha3.html#a826b7a50820b159656a017354dbfc3d7">   98</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structsha3.html#a826b7a50820b159656a017354dbfc3d7">len</a>;           </div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;} <a class="code" href="structsha3.html">sha3</a>;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="preprocessor">#define SHA256 32 </span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor">#define SHA384 48 </span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">#define SHA512 64 </span></div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="preprocessor">#define SHA3_HASH224 28 </span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor">#define SHA3_HASH256 32 </span></div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor">#define SHA3_HASH384 48 </span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor">#define SHA3_HASH512 64 </span></div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#define SHAKE128 16 </span></div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="preprocessor">#define SHAKE256 32 </span></div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor"></span><span class="comment">/* NewHope parameters */</span><span class="preprocessor"></span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment">//q= 12289</span></div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor">#define RLWE_PRIME 0x3001   // q in Hex</span></div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor">#define RLWE_LGN 10         // Degree n=2^LGN</span></div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor">#define RLWE_ND 0xF7002FFF  // 1/(R-q) mod R</span></div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">#define RLWE_ONE 0x2AC8     // R mod q</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor">#define RLWE_R2MODP 0x1620  // R^2 mod q</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment">/* Symmetric Encryption AES structure */</span></div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="preprocessor">#define ECB   0  </span></div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor">#define CBC   1  </span></div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor">#define CFB1  2  </span></div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="preprocessor">#define CFB2  3  </span></div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor">#define CFB4  5  </span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor">#define OFB1  14 </span></div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor">#define OFB2  15 </span></div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor">#define OFB4  17 </span></div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor">#define OFB8  21 </span></div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="preprocessor">#define OFB16 29 </span></div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#define CTR1  30 </span></div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="preprocessor">#define CTR2  31 </span></div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="preprocessor">#define CTR4  33 </span></div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="preprocessor">#define CTR8  37 </span></div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="preprocessor">#define CTR16 45 </span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="preprocessor">#define uchar unsigned char  </span></div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="structamcl__aes.html">  149</a></span>&#160;<span class="preprocessor">typedef struct</span></div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;{</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="structamcl__aes.html#a9b3c86f641f2a16c92a68268811708c6">  151</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structamcl__aes.html#a9b3c86f641f2a16c92a68268811708c6">Nk</a>;            </div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="structamcl__aes.html#ad9bc7bd0b4cf5f9aa28b11306b1ef982">  152</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structamcl__aes.html#ad9bc7bd0b4cf5f9aa28b11306b1ef982">Nr</a>;            </div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="structamcl__aes.html#afcfd230897e7a79882b5ebcfecd6f363">  153</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structamcl__aes.html#afcfd230897e7a79882b5ebcfecd6f363">mode</a>;          </div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="structamcl__aes.html#aaaa606697b758b3185a2685d99deae0b">  154</a></span>&#160;    <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> fkey[60]; </div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="structamcl__aes.html#a956e83d4f4acd4ba68610f73c9ddbe07">  155</a></span>&#160;    <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> rkey[60]; </div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="structamcl__aes.html#aa6043d7c4791ba650ed67bcf46cdb7e7">  156</a></span>&#160;    <span class="keywordtype">char</span> f[16];        </div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;} <a class="code" href="structamcl__aes.html">amcl_aes</a>;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="comment">/* AES-GCM suppport.  */</span></div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="preprocessor">#define GCM_ACCEPTING_HEADER 0   </span></div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="preprocessor">#define GCM_ACCEPTING_CIPHER 1   </span></div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="preprocessor">#define GCM_NOT_ACCEPTING_MORE 2 </span></div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="preprocessor">#define GCM_FINISHED 3           </span></div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="preprocessor">#define GCM_ENCRYPTING 0         </span></div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor">#define GCM_DECRYPTING 1         </span></div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="structgcm.html">  173</a></span>&#160;<span class="preprocessor">typedef struct</span></div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;{</div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="structgcm.html#ad99ccb50a1022e937f9297198d44ab75">  175</a></span>&#160;    <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> table[128][4]; </div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="structgcm.html#a6d96d37eb27ff5d03ab977473f157b21">  176</a></span>&#160;    <a class="code" href="arch_8h.html#aa8ddf20cdd716b652e76e23e5e700893">uchar</a> stateX[16];       </div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="structgcm.html#ab563f98721cb4bc12047849582f296c9">  177</a></span>&#160;    <a class="code" href="arch_8h.html#aa8ddf20cdd716b652e76e23e5e700893">uchar</a> Y_0[16];      </div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="structgcm.html#a1884ba7add128b711fec4270eeb17daf">  178</a></span>&#160;    <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> lenA[2];       </div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="structgcm.html#a1bd72fc4a946169be6734d6f1776bb7c">  179</a></span>&#160;    <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> lenC[2];       </div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="structgcm.html#ad41a374b5dcb99633c068765d1f801ee">  180</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structgcm.html#ad41a374b5dcb99633c068765d1f801ee">status</a>;         </div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="structgcm.html#ab0fe1c4736959492b5ffbefa12458cf9">  181</a></span>&#160;    <a class="code" href="structamcl__aes.html">amcl_aes</a> <a class="code" href="structgcm.html#ab0fe1c4736959492b5ffbefa12458cf9">a</a>;         </div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;} <a class="code" href="structgcm.html">gcm</a>;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="comment">/* Marsaglia &amp; Zaman Random number generator constants */</span></div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="preprocessor">#define NK   21 </span></div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="preprocessor">#define NJ   6  </span></div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="preprocessor">#define NV   8  </span></div><div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="structcsprng.html">  195</a></span>&#160;<span class="preprocessor">typedef struct</span></div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;{</div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="structcsprng.html#a7995ef3e74e5d34984d4d0eb38dffd9e">  197</a></span>&#160;    <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> ira[NK]; </div><div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="structcsprng.html#a2a97b45585ee7203d10337938c1f782c">  198</a></span>&#160;    <span class="keywordtype">int</span>      <a class="code" href="structcsprng.html#a2a97b45585ee7203d10337938c1f782c">rndptr</a>;  </div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="structcsprng.html#a821053dc129bedb1717b4b224bd6354b">  199</a></span>&#160;    <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> <a class="code" href="structcsprng.html#a821053dc129bedb1717b4b224bd6354b">borrow</a>;  </div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="structcsprng.html#a3848c543582da2ccacfc910f3644a3b4">  200</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structcsprng.html#a3848c543582da2ccacfc910f3644a3b4">pool_ptr</a>;     </div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="structcsprng.html#a2ac19b58bd7c9bab6fbc9ad394c41d2a">  201</a></span>&#160;    <span class="keywordtype">char</span> pool[32];    </div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;} <a class="code" href="structcsprng.html">csprng</a>;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="structoctet.html">  209</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;{</div><div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="structoctet.html#aac7aa1ab827fcb609e3c557b27ca8ac4">  211</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structoctet.html#aac7aa1ab827fcb609e3c557b27ca8ac4">len</a>;   </div><div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="structoctet.html#a84f60e49fa04f7f0fba171374af1d167">  212</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structoctet.html#a84f60e49fa04f7f0fba171374af1d167">max</a>;   </div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="structoctet.html#a2cb4746b64e9e31af123be91c0733e67">  213</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="structoctet.html#a2cb4746b64e9e31af123be91c0733e67">val</a>; </div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;} <a class="code" href="structoctet.html">octet</a>;</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="comment">/* Octet string handlers */</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_output(<a class="code" href="structoctet.html">octet</a> *O);</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_output_string(<a class="code" href="structoctet.html">octet</a> *O);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_clear(<a class="code" href="structoctet.html">octet</a> *O);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  OCT_comp(<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  OCT_ncomp(<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *P,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_jstring(<a class="code" href="structoctet.html">octet</a> *O,<span class="keywordtype">char</span> *s);</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_jbytes(<a class="code" href="structoctet.html">octet</a> *O,<span class="keywordtype">char</span> *s,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_jbyte(<a class="code" href="structoctet.html">octet</a> *O,<span class="keywordtype">int</span> b,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_joctet(<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_xor(<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_empty(<a class="code" href="structoctet.html">octet</a> *O);</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> OCT_pad(<a class="code" href="structoctet.html">octet</a> *O,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_tobase64(<span class="keywordtype">char</span> *b,<a class="code" href="structoctet.html">octet</a> *O);</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_frombase64(<a class="code" href="structoctet.html">octet</a> *O,<span class="keywordtype">char</span> *b);</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_copy(<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_xorbyte(<a class="code" href="structoctet.html">octet</a> *O,<span class="keywordtype">int</span> m);</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_chop(<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *P,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_jint(<a class="code" href="structoctet.html">octet</a> *O,<span class="keywordtype">int</span> m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_rand(<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_shl(<a class="code" href="structoctet.html">octet</a> *O,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_fromHex(<a class="code" href="structoctet.html">octet</a> *dst,<span class="keywordtype">char</span> *src);</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_toHex(<a class="code" href="structoctet.html">octet</a> *src,<span class="keywordtype">char</span> *dst);</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> OCT_toStr(<a class="code" href="structoctet.html">octet</a> *src,<span class="keywordtype">char</span> *dst);</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;<span class="comment">/* Hash function */</span></div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> HASH256_init(<a class="code" href="structhash256.html">hash256</a> *H);</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> HASH256_process(<a class="code" href="structhash256.html">hash256</a> *H,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> HASH256_hash(<a class="code" href="structhash256.html">hash256</a> *H,<span class="keywordtype">char</span> *h);</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> HASH384_init(<a class="code" href="structhash512.html">hash384</a> *H);</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> HASH384_process(<a class="code" href="structhash512.html">hash384</a> *H,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> HASH384_hash(<a class="code" href="structhash512.html">hash384</a> *H,<span class="keywordtype">char</span> *h);</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> HASH512_init(<a class="code" href="structhash512.html">hash512</a> *H);</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> HASH512_process(<a class="code" href="structhash512.html">hash512</a> *H,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> HASH512_hash(<a class="code" href="structhash512.html">hash512</a> *H,<span class="keywordtype">char</span> *h);</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span>  SHA3_init(<a class="code" href="structsha3.html">sha3</a> *H,<span class="keywordtype">int</span> t);</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span>  SHA3_process(<a class="code" href="structsha3.html">sha3</a> *H,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span>  SHA3_hash(<a class="code" href="structsha3.html">sha3</a> *H,<span class="keywordtype">char</span> *h);</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span>  SHA3_shake(<a class="code" href="structsha3.html">sha3</a> *H,<span class="keywordtype">char</span> *h,<span class="keywordtype">int</span> len);</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span>  SHA3_squeeze(<a class="code" href="structsha3.html">sha3</a> *H,<span class="keywordtype">char</span> *h,<span class="keywordtype">int</span> len);</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;<span class="comment">/* AES functions */</span></div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> AES_reset(<a class="code" href="structamcl__aes.html">amcl_aes</a> *A,<span class="keywordtype">int</span> m,<span class="keywordtype">char</span> *iv);</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> AES_getreg(<a class="code" href="structamcl__aes.html">amcl_aes</a> *A,<span class="keywordtype">char</span> * f);</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> AES_init(<a class="code" href="structamcl__aes.html">amcl_aes</a> *A,<span class="keywordtype">int</span> m,<span class="keywordtype">int</span> n,<span class="keywordtype">char</span> *k,<span class="keywordtype">char</span> *iv);</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> AES_ecb_encrypt(<a class="code" href="structamcl__aes.html">amcl_aes</a> *A,<a class="code" href="arch_8h.html#aa8ddf20cdd716b652e76e23e5e700893">uchar</a> * b);</div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> AES_ecb_decrypt(<a class="code" href="structamcl__aes.html">amcl_aes</a> *A,<a class="code" href="arch_8h.html#aa8ddf20cdd716b652e76e23e5e700893">uchar</a> * b);</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;<span class="keyword">extern</span> <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> AES_encrypt(<a class="code" href="structamcl__aes.html">amcl_aes</a> *A,<span class="keywordtype">char</span> *b );</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;<span class="keyword">extern</span> <a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> AES_decrypt(<a class="code" href="structamcl__aes.html">amcl_aes</a> *A,<span class="keywordtype">char</span> *b);</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> AES_end(<a class="code" href="structamcl__aes.html">amcl_aes</a> *A);</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;</div><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;<span class="comment">/* AES-GCM functions */</span></div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> GCM_init(<a class="code" href="structgcm.html">gcm</a> *G,<span class="keywordtype">int</span> nk,<span class="keywordtype">char</span> *k,<span class="keywordtype">int</span> n,<span class="keywordtype">char</span> *iv);</div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> GCM_add_header(<a class="code" href="structgcm.html">gcm</a> *G,<span class="keywordtype">char</span> *b,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> GCM_add_plain(<a class="code" href="structgcm.html">gcm</a> *G,<span class="keywordtype">char</span> *c,<span class="keywordtype">char</span> *p,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> GCM_add_cipher(<a class="code" href="structgcm.html">gcm</a> *G,<span class="keywordtype">char</span> *p,<span class="keywordtype">char</span> *c,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> GCM_finish(<a class="code" href="structgcm.html">gcm</a> *G,<span class="keywordtype">char</span> *t);</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;</div><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;<span class="comment">/* random numbers */</span></div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> RAND_seed(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> n,<span class="keywordtype">char</span> *b);</div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> RAND_clean(<a class="code" href="structcsprng.html">csprng</a> *R);</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> RAND_byte(<a class="code" href="structcsprng.html">csprng</a> *R);</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;</div><div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structgcm_html"><div class="ttname"><a href="structgcm.html">gcm</a></div><div class="ttdoc">GCM mode instance, using AES internally. </div><div class="ttdef"><b>Definition:</b> amcl.h:173</div></div>
 <div class="ttc" id="structoctet_html_a84f60e49fa04f7f0fba171374af1d167"><div class="ttname"><a href="structoctet.html#a84f60e49fa04f7f0fba171374af1d167">octet::max</a></div><div class="ttdeci">int max</div><div class="ttdef"><b>Definition:</b> amcl.h:212</div></div>
-<div class="ttc" id="structhash256_html"><div class="ttname"><a href="structhash256.html">hash256</a></div><div class="ttdoc">SHA256 hash function instance.</div><div class="ttdef"><b>Definition:</b> amcl.h:69</div></div>
+<div class="ttc" id="structhash256_html"><div class="ttname"><a href="structhash256.html">hash256</a></div><div class="ttdoc">SHA256 hash function instance. </div><div class="ttdef"><b>Definition:</b> amcl.h:69</div></div>
 <div class="ttc" id="structcsprng_html_a2a97b45585ee7203d10337938c1f782c"><div class="ttname"><a href="structcsprng.html#a2a97b45585ee7203d10337938c1f782c">csprng::rndptr</a></div><div class="ttdeci">int rndptr</div><div class="ttdef"><b>Definition:</b> amcl.h:198</div></div>
 <div class="ttc" id="structsha3_html_a826b7a50820b159656a017354dbfc3d7"><div class="ttname"><a href="structsha3.html#a826b7a50820b159656a017354dbfc3d7">sha3::len</a></div><div class="ttdeci">int len</div><div class="ttdef"><b>Definition:</b> amcl.h:98</div></div>
 <div class="ttc" id="structamcl__aes_html_a9b3c86f641f2a16c92a68268811708c6"><div class="ttname"><a href="structamcl__aes.html#a9b3c86f641f2a16c92a68268811708c6">amcl_aes::Nk</a></div><div class="ttdeci">int Nk</div><div class="ttdef"><b>Definition:</b> amcl.h:151</div></div>
-<div class="ttc" id="structoctet_html"><div class="ttname"><a href="structoctet.html">octet</a></div><div class="ttdoc">Portable representation of a big positive number.</div><div class="ttdef"><b>Definition:</b> amcl.h:209</div></div>
+<div class="ttc" id="structoctet_html"><div class="ttname"><a href="structoctet.html">octet</a></div><div class="ttdoc">Portable representation of a big positive number. </div><div class="ttdef"><b>Definition:</b> amcl.h:209</div></div>
 <div class="ttc" id="structhash256_html_ab4db96c3d30dce3db80bfbc92ca0aecf"><div class="ttname"><a href="structhash256.html#ab4db96c3d30dce3db80bfbc92ca0aecf">hash256::hlen</a></div><div class="ttdeci">int hlen</div><div class="ttdef"><b>Definition:</b> amcl.h:74</div></div>
 <div class="ttc" id="structhash512_html_a56689ae69347d42cf0fa4a424e789832"><div class="ttname"><a href="structhash512.html#a56689ae69347d42cf0fa4a424e789832">hash512::hlen</a></div><div class="ttdeci">int hlen</div><div class="ttdef"><b>Definition:</b> amcl.h:84</div></div>
 <div class="ttc" id="arch_8h_html_aa8ddf20cdd716b652e76e23e5e700893"><div class="ttname"><a href="arch_8h.html#aa8ddf20cdd716b652e76e23e5e700893">uchar</a></div><div class="ttdeci">#define uchar</div><div class="ttdef"><b>Definition:</b> arch.h:79</div></div>
@@ -85,23 +88,23 @@
 <div class="ttc" id="structsha3_html_a73902f518f7a5d7db0f40b71b2d52f09"><div class="ttname"><a href="structsha3.html#a73902f518f7a5d7db0f40b71b2d52f09">sha3::length</a></div><div class="ttdeci">unsign64 length</div><div class="ttdef"><b>Definition:</b> amcl.h:95</div></div>
 <div class="ttc" id="arch_8h_html_a88e152b3d86c9e2106240fa6cc1cbd9c"><div class="ttname"><a href="arch_8h.html#a88e152b3d86c9e2106240fa6cc1cbd9c">unsign64</a></div><div class="ttdeci">#define unsign64</div><div class="ttdef"><b>Definition:</b> arch.h:67</div></div>
 <div class="ttc" id="structoctet_html_aac7aa1ab827fcb609e3c557b27ca8ac4"><div class="ttname"><a href="structoctet.html#aac7aa1ab827fcb609e3c557b27ca8ac4">octet::len</a></div><div class="ttdeci">int len</div><div class="ttdef"><b>Definition:</b> amcl.h:211</div></div>
-<div class="ttc" id="structhash512_html"><div class="ttname"><a href="structhash512.html">hash512</a></div><div class="ttdoc">SHA384-512 hash function instance.</div><div class="ttdef"><b>Definition:</b> amcl.h:79</div></div>
-<div class="ttc" id="arch_8h_html"><div class="ttname"><a href="arch_8h.html">arch.h</a></div><div class="ttdoc">Architecture Header File.</div></div>
+<div class="ttc" id="structhash512_html"><div class="ttname"><a href="structhash512.html">hash512</a></div><div class="ttdoc">SHA384-512 hash function instance. </div><div class="ttdef"><b>Definition:</b> amcl.h:79</div></div>
+<div class="ttc" id="arch_8h_html"><div class="ttname"><a href="arch_8h.html">arch.h</a></div><div class="ttdoc">Architecture Header File. </div></div>
 <div class="ttc" id="structgcm_html_ad41a374b5dcb99633c068765d1f801ee"><div class="ttname"><a href="structgcm.html#ad41a374b5dcb99633c068765d1f801ee">gcm::status</a></div><div class="ttdeci">int status</div><div class="ttdef"><b>Definition:</b> amcl.h:180</div></div>
-<div class="ttc" id="structamcl__aes_html"><div class="ttname"><a href="structamcl__aes.html">amcl_aes</a></div><div class="ttdoc">AES instance.</div><div class="ttdef"><b>Definition:</b> amcl.h:149</div></div>
-<div class="ttc" id="structcsprng_html"><div class="ttname"><a href="structcsprng.html">csprng</a></div><div class="ttdoc">Cryptographically secure pseudo-random number generator instance.</div><div class="ttdef"><b>Definition:</b> amcl.h:195</div></div>
+<div class="ttc" id="structamcl__aes_html"><div class="ttname"><a href="structamcl__aes.html">amcl_aes</a></div><div class="ttdoc">AES instance. </div><div class="ttdef"><b>Definition:</b> amcl.h:149</div></div>
+<div class="ttc" id="structcsprng_html"><div class="ttname"><a href="structcsprng.html">csprng</a></div><div class="ttdoc">Cryptographically secure pseudo-random number generator instance. </div><div class="ttdef"><b>Definition:</b> amcl.h:195</div></div>
 <div class="ttc" id="structamcl__aes_html_afcfd230897e7a79882b5ebcfecd6f363"><div class="ttname"><a href="structamcl__aes.html#afcfd230897e7a79882b5ebcfecd6f363">amcl_aes::mode</a></div><div class="ttdeci">int mode</div><div class="ttdef"><b>Definition:</b> amcl.h:153</div></div>
 <div class="ttc" id="structgcm_html_ab0fe1c4736959492b5ffbefa12458cf9"><div class="ttname"><a href="structgcm.html#ab0fe1c4736959492b5ffbefa12458cf9">gcm::a</a></div><div class="ttdeci">amcl_aes a</div><div class="ttdef"><b>Definition:</b> amcl.h:181</div></div>
 <div class="ttc" id="arch_8h_html_a59582c63ae040d9b1a47f17b0ac03db0"><div class="ttname"><a href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a></div><div class="ttdeci">#define unsign32</div><div class="ttdef"><b>Definition:</b> arch.h:66</div></div>
 <div class="ttc" id="structcsprng_html_a821053dc129bedb1717b4b224bd6354b"><div class="ttname"><a href="structcsprng.html#a821053dc129bedb1717b4b224bd6354b">csprng::borrow</a></div><div class="ttdeci">unsign32 borrow</div><div class="ttdef"><b>Definition:</b> amcl.h:199</div></div>
 <div class="ttc" id="structoctet_html_a2cb4746b64e9e31af123be91c0733e67"><div class="ttname"><a href="structoctet.html#a2cb4746b64e9e31af123be91c0733e67">octet::val</a></div><div class="ttdeci">char * val</div><div class="ttdef"><b>Definition:</b> amcl.h:213</div></div>
-<div class="ttc" id="structsha3_html"><div class="ttname"><a href="structsha3.html">sha3</a></div><div class="ttdoc">SHA3 hash function instance.</div><div class="ttdef"><b>Definition:</b> amcl.h:93</div></div>
+<div class="ttc" id="structsha3_html"><div class="ttname"><a href="structsha3.html">sha3</a></div><div class="ttdoc">SHA3 hash function instance. </div><div class="ttdef"><b>Definition:</b> amcl.h:93</div></div>
 </div><!-- fragment --></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
+</a> 1.8.13
 </small></address>
 </body>
 </html>
diff --git a/website/static/cdocs/annotated.html b/website/static/cdocs/annotated.html
index 03df4de..c6fe7d2 100644
--- a/website/static/cdocs/annotated.html
+++ b/website/static/cdocs/annotated.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>AMCL: Data Structures</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -12,6 +12,12 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/x-mathjax-config">
+  MathJax.Hub.Config({
+    extensions: ["tex2jax.js"],
+    jax: ["input/TeX","output/HTML-CSS"],
+});
+</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
@@ -29,21 +35,18 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.15 -->
+<!-- Generated by Doxygen 1.8.13 -->
 <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>
+</script>
 <div id="main-nav"></div>
 </div><!-- top -->
 <!-- window showing the filter options -->
@@ -161,14 +164,16 @@
 <tr id="row_91_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structhash256.html" target="_self">hash256</a></td><td class="desc">SHA256 hash function instance </td></tr>
 <tr id="row_92_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structhash512.html" target="_self">hash512</a></td><td class="desc">SHA384-512 hash function instance </td></tr>
 <tr id="row_93_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structoctet.html" target="_self">octet</a></td><td class="desc">Portable representation of a big positive number </td></tr>
-<tr id="row_94_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structpktype.html" target="_self">pktype</a></td><td class="desc">Public key type </td></tr>
-<tr id="row_95_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structrsa__private__key__2048.html" target="_self">rsa_private_key_2048</a></td><td class="desc">Integer Factorisation Private Key </td></tr>
-<tr id="row_96_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structrsa__private__key__3072.html" target="_self">rsa_private_key_3072</a></td><td class="desc">Integer Factorisation Private Key </td></tr>
-<tr id="row_97_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structrsa__private__key__4096.html" target="_self">rsa_private_key_4096</a></td><td class="desc">Integer Factorisation Private Key </td></tr>
-<tr id="row_98_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structrsa__public__key__2048.html" target="_self">rsa_public_key_2048</a></td><td class="desc">Integer Factorisation Public Key </td></tr>
-<tr id="row_99_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structrsa__public__key__3072.html" target="_self">rsa_public_key_3072</a></td><td class="desc">Integer Factorisation Public Key </td></tr>
-<tr id="row_100_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structrsa__public__key__4096.html" target="_self">rsa_public_key_4096</a></td><td class="desc">Integer Factorisation Public Key </td></tr>
-<tr id="row_101_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsha3.html" target="_self">sha3</a></td><td class="desc">SHA3 hash function instance </td></tr>
+<tr id="row_94_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structPAILLIER__private__key.html" target="_self">PAILLIER_private_key</a></td><td class="desc">Paillier Private Key </td></tr>
+<tr id="row_95_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structPAILLIER__public__key.html" target="_self">PAILLIER_public_key</a></td><td class="desc">Paillier Public Key </td></tr>
+<tr id="row_96_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structpktype.html" target="_self">pktype</a></td><td class="desc">Public key type </td></tr>
+<tr id="row_97_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structrsa__private__key__2048.html" target="_self">rsa_private_key_2048</a></td><td class="desc">Integer Factorisation Private Key </td></tr>
+<tr id="row_98_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structrsa__private__key__3072.html" target="_self">rsa_private_key_3072</a></td><td class="desc">Integer Factorisation Private Key </td></tr>
+<tr id="row_99_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structrsa__private__key__4096.html" target="_self">rsa_private_key_4096</a></td><td class="desc">Integer Factorisation Private Key </td></tr>
+<tr id="row_100_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structrsa__public__key__2048.html" target="_self">rsa_public_key_2048</a></td><td class="desc">Integer Factorisation Public Key </td></tr>
+<tr id="row_101_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structrsa__public__key__3072.html" target="_self">rsa_public_key_3072</a></td><td class="desc">Integer Factorisation Public Key </td></tr>
+<tr id="row_102_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structrsa__public__key__4096.html" target="_self">rsa_public_key_4096</a></td><td class="desc">Integer Factorisation Public Key </td></tr>
+<tr id="row_103_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsha3.html" target="_self">sha3</a></td><td class="desc">SHA3 hash function instance </td></tr>
 </table>
 </div><!-- directory -->
 </div><!-- contents -->
@@ -176,7 +181,7 @@
 <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
+</a> 1.8.13
 </small></address>
 </body>
 </html>
diff --git a/website/static/cdocs/arch_8h.html b/website/static/cdocs/arch_8h.html
index 380aa82..74ae97c 100644
--- a/website/static/cdocs/arch_8h.html
+++ b/website/static/cdocs/arch_8h.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>AMCL: arch.h File Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -12,6 +12,12 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/x-mathjax-config">
+  MathJax.Hub.Config({
+    extensions: ["tex2jax.js"],
+    jax: ["input/TeX","output/HTML-CSS"],
+});
+</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
@@ -29,21 +35,18 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.15 -->
+<!-- Generated by Doxygen 1.8.13 -->
 <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>
+</script>
 <div id="main-nav"></div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -259,7 +262,7 @@
 <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
+</a> 1.8.13
 </small></address>
 </body>
 </html>
diff --git a/website/static/cdocs/arch_8h_source.html b/website/static/cdocs/arch_8h_source.html
index 3506df0..31a460c 100644
--- a/website/static/cdocs/arch_8h_source.html
+++ b/website/static/cdocs/arch_8h_source.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>AMCL: arch.h Source File</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -12,6 +12,12 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/x-mathjax-config">
+  MathJax.Hub.Config({
+    extensions: ["tex2jax.js"],
+    jax: ["input/TeX","output/HTML-CSS"],
+});
+</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
@@ -29,21 +35,18 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.15 -->
+<!-- Generated by Doxygen 1.8.13 -->
 <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>
+</script>
 <div id="main-nav"></div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -69,12 +72,12 @@
 <div class="title">arch.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="arch_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">        Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">        or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">        distributed with this work for additional information</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">        regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">        to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">        &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">        with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">        http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">        Unless required by applicable law or agreed to in writing,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">        software distributed under the License is distributed on an</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">        &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">        KIND, either express or implied.  See the License for the</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">        specific language governing permissions and limitations</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">        under the License.</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">/* Architecture definition header file */</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">/* NOTE: There is only one user configurable section in this header - see below */</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#ifndef ARCH_H</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#define ARCH_H</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION - set architecture ***/</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#ifdef CMAKE</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#define CHUNK 64  </span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">   45</a></span>&#160;<span class="preprocessor">#define CHUNK 64                </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">/*** END OF USER CONFIGURABLE SECTION ***/</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">/* Create Integer types */</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">/* Support for C99?  Note for GCC need to explicitly include -std=c99 in command line */</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#if __STDC_VERSION__ &gt;= 199901L</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">/* C99 code */</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define C99</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">/* Not C99 code */</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#ifndef C99  </span><span class="comment">/* You are on your own! These are for Microsoft C */</span><span class="preprocessor"></span></div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="arch_8h.html#a71809484a26cd96c6abe839a0a8a289d">   61</a></span>&#160;<span class="preprocessor">#define byte unsigned char              </span></div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">   62</a></span>&#160;<span class="preprocessor">#define sign32 __int32                  </span></div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="arch_8h.html#a8cfc5f8fd129df4221eb6de4c9f11643">   63</a></span>&#160;<span class="preprocessor">#define sign8 signed char               </span></div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="arch_8h.html#a682f37ec67b54344d2e29116a964bb35">   64</a></span>&#160;<span class="preprocessor">#define sign16 short int                </span></div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="arch_8h.html#a33644a23a34e6e87d5f1c8b431add9e0">   65</a></span>&#160;<span class="preprocessor">#define sign64 long long                </span></div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">   66</a></span>&#160;<span class="preprocessor">#define unsign32 unsigned __int32 </span></div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="arch_8h.html#a88e152b3d86c9e2106240fa6cc1cbd9c">   67</a></span>&#160;<span class="preprocessor">#define unsign64 unsigned long long  </span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#define byte uint8_t                    </span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">#define sign8 int8_t                    </span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">#define sign16 int16_t                  </span></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">#define sign32 int32_t                  </span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor">#define sign64 int64_t                  </span></div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#define unsign32 uint32_t               </span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor">#define unsign64 uint64_t               </span></div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="arch_8h.html#aa8ddf20cdd716b652e76e23e5e700893">   79</a></span>&#160;<span class="preprocessor">#define uchar unsigned char  </span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor"></span><span class="comment">/* Don&#39;t mess with anything below this line unless you know what you are doing */</span><span class="preprocessor"></span></div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/* This next is probably OK, but may need changing for non-C99-standard environments */</span></div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">/* This next is probably OK, but may need changing for non-C99-standard environments */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor">#if CHUNK==16</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">#ifndef C99</span></div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">#define chunk __int16           </span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor">#define dchunk __int32          </span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor">#define chunk int16_t           </span></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="preprocessor">#define dchunk int32_t          </span></div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">#if CHUNK == 32</span></div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor">#ifndef C99</span></div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="preprocessor">#define chunk __int32           </span></div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="preprocessor">#define dchunk __int64          </span></div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="preprocessor">#define chunk int32_t           </span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor">#define dchunk int64_t          </span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor">#if CHUNK == 64</span></div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor">#ifndef C99</span></div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">  109</a></span>&#160;<span class="preprocessor">#define chunk __int64           </span></div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#define chunk int64_t           </span></div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor">#if defined(__SIZEOF_INT128__) &amp;&amp; __SIZEOF_INT128__ == 16</span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="preprocessor">#define dchunk __int128                </span></div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">#ifdef dchunk</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor">#define COMBA      </span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- contents -->
+<a href="arch_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">    Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">    or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">    distributed with this work for additional information</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">    regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">    to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">    &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">    with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">    http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">    Unless required by applicable law or agreed to in writing,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">    software distributed under the License is distributed on an</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">    &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">    KIND, either express or implied.  See the License for the</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">    specific language governing permissions and limitations</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">    under the License.</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">/* Architecture definition header file */</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">/* NOTE: There is only one user configurable section in this header - see below */</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#ifndef ARCH_H</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#define ARCH_H</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION - set architecture ***/</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#ifdef CMAKE</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#define CHUNK 64  </span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">   45</a></span>&#160;<span class="preprocessor">#define CHUNK 64        </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">/*** END OF USER CONFIGURABLE SECTION ***/</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">/* Create Integer types */</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">/* Support for C99?  Note for GCC need to explicitly include -std=c99 in command line */</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#if __STDC_VERSION__ &gt;= 199901L</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">/* C99 code */</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define C99</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">/* Not C99 code */</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#ifndef C99  </span><span class="comment">/* You are on your own! These are for Microsoft C */</span><span class="preprocessor"></span></div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="arch_8h.html#a71809484a26cd96c6abe839a0a8a289d">   61</a></span>&#160;<span class="preprocessor">#define byte unsigned char      </span></div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">   62</a></span>&#160;<span class="preprocessor">#define sign32 __int32          </span></div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="arch_8h.html#a8cfc5f8fd129df4221eb6de4c9f11643">   63</a></span>&#160;<span class="preprocessor">#define sign8 signed char       </span></div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="arch_8h.html#a682f37ec67b54344d2e29116a964bb35">   64</a></span>&#160;<span class="preprocessor">#define sign16 short int        </span></div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="arch_8h.html#a33644a23a34e6e87d5f1c8b431add9e0">   65</a></span>&#160;<span class="preprocessor">#define sign64 long long        </span></div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">   66</a></span>&#160;<span class="preprocessor">#define unsign32 unsigned __int32 </span></div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="arch_8h.html#a88e152b3d86c9e2106240fa6cc1cbd9c">   67</a></span>&#160;<span class="preprocessor">#define unsign64 unsigned long long  </span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#define byte uint8_t            </span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">#define sign8 int8_t            </span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">#define sign16 int16_t          </span></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">#define sign32 int32_t          </span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor">#define sign64 int64_t          </span></div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#define unsign32 uint32_t       </span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor">#define unsign64 uint64_t       </span></div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="arch_8h.html#aa8ddf20cdd716b652e76e23e5e700893">   79</a></span>&#160;<span class="preprocessor">#define uchar unsigned char  </span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor"></span><span class="comment">/* Don&#39;t mess with anything below this line unless you know what you are doing */</span><span class="preprocessor"></span></div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/* This next is probably OK, but may need changing for non-C99-standard environments */</span></div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">/* This next is probably OK, but may need changing for non-C99-standard environments */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor">#if CHUNK==16</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">#ifndef C99</span></div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">#define chunk __int16       </span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor">#define dchunk __int32      </span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor">#define chunk int16_t       </span></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="preprocessor">#define dchunk int32_t      </span></div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">#if CHUNK == 32</span></div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor">#ifndef C99</span></div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="preprocessor">#define chunk __int32       </span></div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="preprocessor">#define dchunk __int64      </span></div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="preprocessor">#define chunk int32_t       </span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor">#define dchunk int64_t      </span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor">#if CHUNK == 64</span></div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor">#ifndef C99</span></div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">  109</a></span>&#160;<span class="preprocessor">#define chunk __int64       </span></div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#define chunk int64_t       </span></div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor">#if defined(__SIZEOF_INT128__) &amp;&amp; __SIZEOF_INT128__ == 16</span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="preprocessor">#define dchunk __int128                </span></div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">#ifdef dchunk</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor">#define COMBA      </span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></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
+</a> 1.8.13
 </small></address>
 </body>
 </html>
diff --git a/website/static/cdocs/big__1024__28_8h.html b/website/static/cdocs/big__1024__28_8h.html
deleted file mode 100644
index 5ef570d..0000000
--- a/website/static/cdocs/big__1024__28_8h.html
+++ /dev/null
@@ -1,2994 +0,0 @@
-<!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_1024_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_1024_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__1024__28_8h_source.html">config_big_1024_28.h</a>&quot;</code><br />
-</div>
-<p><a href="big__1024__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:a5e823eda976231f0b203b47b75115f75"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a5e823eda976231f0b203b47b75115f75">BIGBITS_1024_28</a>&#160;&#160;&#160;(8*<a class="el" href="config__big__1024__28_8h.html#a9a4d6b54c5d5a63aad6877c762a6f30f">MODBYTES_1024_28</a>)</td></tr>
-<tr class="separator:a5e823eda976231f0b203b47b75115f75"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a20e1a7a0c0b849acb553c1c1a333d54f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a20e1a7a0c0b849acb553c1c1a333d54f">NLEN_1024_28</a>&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__1024__28_8h.html#a9a4d6b54c5d5a63aad6877c762a6f30f">MODBYTES_1024_28</a>-1)/<a class="el" href="config__big__1024__28_8h.html#a5eaa43c96333aeb94a5ce4ab00c5b823">BASEBITS_1024_28</a>))</td></tr>
-<tr class="separator:a20e1a7a0c0b849acb553c1c1a333d54f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af8b455367bcf8cda171906b600389f81"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#af8b455367bcf8cda171906b600389f81">DNLEN_1024_28</a>&#160;&#160;&#160;2*<a class="el" href="big__1024__28_8h.html#a20e1a7a0c0b849acb553c1c1a333d54f">NLEN_1024_28</a></td></tr>
-<tr class="separator:af8b455367bcf8cda171906b600389f81"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a201c6297075d183fc4f9ec6407a7234c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a201c6297075d183fc4f9ec6407a7234c">BMASK_1024_28</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__1024__28_8h.html#a5eaa43c96333aeb94a5ce4ab00c5b823">BASEBITS_1024_28</a>)-1)</td></tr>
-<tr class="separator:a201c6297075d183fc4f9ec6407a7234c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a69f667152c7fff6cad4a64eaaf8a21da"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a69f667152c7fff6cad4a64eaaf8a21da">NEXCESS_1024_28</a>&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__1024__28_8h.html#a5eaa43c96333aeb94a5ce4ab00c5b823">BASEBITS_1024_28</a>-1))</td></tr>
-<tr class="separator:a69f667152c7fff6cad4a64eaaf8a21da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a47199d90c03e396ce0dd54b3750ba488"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a47199d90c03e396ce0dd54b3750ba488">HBITS_1024_28</a>&#160;&#160;&#160;(<a class="el" href="config__big__1024__28_8h.html#a5eaa43c96333aeb94a5ce4ab00c5b823">BASEBITS_1024_28</a>/2)</td></tr>
-<tr class="separator:a47199d90c03e396ce0dd54b3750ba488"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7b9b9c4d137721a8bd5a9762235dbf56"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a7b9b9c4d137721a8bd5a9762235dbf56">HMASK_1024_28</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__1024__28_8h.html#a47199d90c03e396ce0dd54b3750ba488">HBITS_1024_28</a>)-1)</td></tr>
-<tr class="separator:a7b9b9c4d137721a8bd5a9762235dbf56"><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:a77f957795c4ef4ee62e89dd7cb45dd62"><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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a>[<a class="el" href="big__1024__28_8h.html#a20e1a7a0c0b849acb553c1c1a333d54f">NLEN_1024_28</a>]</td></tr>
-<tr class="separator:a77f957795c4ef4ee62e89dd7cb45dd62"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5eb955f7af3647f964de7cddf9cd5647"><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__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a>[<a class="el" href="big__1024__28_8h.html#af8b455367bcf8cda171906b600389f81">DNLEN_1024_28</a>]</td></tr>
-<tr class="separator:a5eb955f7af3647f964de7cddf9cd5647"><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:a4c24835682c9662e0d3850e8d0af3592"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a4c24835682c9662e0d3850e8d0af3592">BIG_1024_28_iszilch</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x)</td></tr>
-<tr class="memdesc:a4c24835682c9662e0d3850e8d0af3592"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to zero.  <a href="#a4c24835682c9662e0d3850e8d0af3592">More...</a><br /></td></tr>
-<tr class="separator:a4c24835682c9662e0d3850e8d0af3592"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afd3bcd46deffcd767611c36b0a05ba43"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#afd3bcd46deffcd767611c36b0a05ba43">BIG_1024_28_isunity</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x)</td></tr>
-<tr class="memdesc:afd3bcd46deffcd767611c36b0a05ba43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to one.  <a href="#afd3bcd46deffcd767611c36b0a05ba43">More...</a><br /></td></tr>
-<tr class="separator:afd3bcd46deffcd767611c36b0a05ba43"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae7aa0c3c199de111505a1f2fa620fb68"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#ae7aa0c3c199de111505a1f2fa620fb68">BIG_1024_28_diszilch</a> (<a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x)</td></tr>
-<tr class="memdesc:ae7aa0c3c199de111505a1f2fa620fb68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for DBIG equal to zero.  <a href="#ae7aa0c3c199de111505a1f2fa620fb68">More...</a><br /></td></tr>
-<tr class="separator:ae7aa0c3c199de111505a1f2fa620fb68"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8be43fff007f3d452f7b71ee8c9ad8bc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a8be43fff007f3d452f7b71ee8c9ad8bc">BIG_1024_28_output</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x)</td></tr>
-<tr class="memdesc:a8be43fff007f3d452f7b71ee8c9ad8bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console.  <a href="#a8be43fff007f3d452f7b71ee8c9ad8bc">More...</a><br /></td></tr>
-<tr class="separator:a8be43fff007f3d452f7b71ee8c9ad8bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a053a019376c8068134541df485a77fbc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a053a019376c8068134541df485a77fbc">BIG_1024_28_rawoutput</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x)</td></tr>
-<tr class="memdesc:a053a019376c8068134541df485a77fbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console in raw form (for debugging)  <a href="#a053a019376c8068134541df485a77fbc">More...</a><br /></td></tr>
-<tr class="separator:a053a019376c8068134541df485a77fbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a74b190b116ad7b8ae61ecf74e7f81104"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a74b190b116ad7b8ae61ecf74e7f81104">BIG_1024_28_cswap</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y, int s)</td></tr>
-<tr class="memdesc:a74b190b116ad7b8ae61ecf74e7f81104"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional constant time swap of two BIG numbers.  <a href="#a74b190b116ad7b8ae61ecf74e7f81104">More...</a><br /></td></tr>
-<tr class="separator:a74b190b116ad7b8ae61ecf74e7f81104"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a906cde91ce5641663dcf1e1914d45bdf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a906cde91ce5641663dcf1e1914d45bdf">BIG_1024_28_cmove</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y, int s)</td></tr>
-<tr class="memdesc:a906cde91ce5641663dcf1e1914d45bdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of BIG number.  <a href="#a906cde91ce5641663dcf1e1914d45bdf">More...</a><br /></td></tr>
-<tr class="separator:a906cde91ce5641663dcf1e1914d45bdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a600f84090df4a150aa47d45cd767617c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a600f84090df4a150aa47d45cd767617c">BIG_1024_28_dcmove</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y, int s)</td></tr>
-<tr class="memdesc:a600f84090df4a150aa47d45cd767617c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of DBIG number.  <a href="#a600f84090df4a150aa47d45cd767617c">More...</a><br /></td></tr>
-<tr class="separator:a600f84090df4a150aa47d45cd767617c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a210b8ce96bb74cefeedfd51e2c72fbba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a210b8ce96bb74cefeedfd51e2c72fbba">BIG_1024_28_toBytes</a> (char *a, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x)</td></tr>
-<tr class="memdesc:a210b8ce96bb74cefeedfd51e2c72fbba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from BIG number to byte array.  <a href="#a210b8ce96bb74cefeedfd51e2c72fbba">More...</a><br /></td></tr>
-<tr class="separator:a210b8ce96bb74cefeedfd51e2c72fbba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1fcdbb02f4a74e2fd5a3e4a7b2df99c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a1fcdbb02f4a74e2fd5a3e4a7b2df99c5">BIG_1024_28_fromBytes</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, char *a)</td></tr>
-<tr class="memdesc:a1fcdbb02f4a74e2fd5a3e4a7b2df99c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array.  <a href="#a1fcdbb02f4a74e2fd5a3e4a7b2df99c5">More...</a><br /></td></tr>
-<tr class="separator:a1fcdbb02f4a74e2fd5a3e4a7b2df99c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8eed0c87536a7eee8a505d78743bb0fa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a8eed0c87536a7eee8a505d78743bb0fa">BIG_1024_28_fromBytesLen</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:a8eed0c87536a7eee8a505d78743bb0fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array of given length.  <a href="#a8eed0c87536a7eee8a505d78743bb0fa">More...</a><br /></td></tr>
-<tr class="separator:a8eed0c87536a7eee8a505d78743bb0fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a25fad48097ab1a81c2654cb2c363a8ea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a25fad48097ab1a81c2654cb2c363a8ea">BIG_1024_28_dfromBytesLen</a> (<a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:a25fad48097ab1a81c2654cb2c363a8ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to DBIG number from byte array of given length.  <a href="#a25fad48097ab1a81c2654cb2c363a8ea">More...</a><br /></td></tr>
-<tr class="separator:a25fad48097ab1a81c2654cb2c363a8ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac56ff1f8b418819b091d51e44cc8decb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#ac56ff1f8b418819b091d51e44cc8decb">BIG_1024_28_doutput</a> (<a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x)</td></tr>
-<tr class="memdesc:ac56ff1f8b418819b091d51e44cc8decb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#ac56ff1f8b418819b091d51e44cc8decb">More...</a><br /></td></tr>
-<tr class="separator:ac56ff1f8b418819b091d51e44cc8decb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2cb16afcdacd4d31ca6126333cbd8d4d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a2cb16afcdacd4d31ca6126333cbd8d4d">BIG_1024_28_drawoutput</a> (<a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x)</td></tr>
-<tr class="memdesc:a2cb16afcdacd4d31ca6126333cbd8d4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#a2cb16afcdacd4d31ca6126333cbd8d4d">More...</a><br /></td></tr>
-<tr class="separator:a2cb16afcdacd4d31ca6126333cbd8d4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab587b7b3487be40d7f181e14a2c19111"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#ab587b7b3487be40d7f181e14a2c19111">BIG_1024_28_rcopy</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, const <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y)</td></tr>
-<tr class="memdesc:ab587b7b3487be40d7f181e14a2c19111"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG from Read-Only Memory to a BIG.  <a href="#ab587b7b3487be40d7f181e14a2c19111">More...</a><br /></td></tr>
-<tr class="separator:ab587b7b3487be40d7f181e14a2c19111"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2f8bb5efa10f39a457a76d3621daade8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a2f8bb5efa10f39a457a76d3621daade8">BIG_1024_28_copy</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y)</td></tr>
-<tr class="memdesc:a2f8bb5efa10f39a457a76d3621daade8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to another BIG.  <a href="#a2f8bb5efa10f39a457a76d3621daade8">More...</a><br /></td></tr>
-<tr class="separator:a2f8bb5efa10f39a457a76d3621daade8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5111c6e4404bf58f040776042ece1108"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a5111c6e4404bf58f040776042ece1108">BIG_1024_28_dcopy</a> (<a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> y)</td></tr>
-<tr class="memdesc:a5111c6e4404bf58f040776042ece1108"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy DBIG to another DBIG.  <a href="#a5111c6e4404bf58f040776042ece1108">More...</a><br /></td></tr>
-<tr class="separator:a5111c6e4404bf58f040776042ece1108"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab1ce66a9f6fa854db007fa2378aeb723"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#ab1ce66a9f6fa854db007fa2378aeb723">BIG_1024_28_dsucopy</a> (<a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y)</td></tr>
-<tr class="memdesc:ab1ce66a9f6fa854db007fa2378aeb723"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to upper half of DBIG.  <a href="#ab1ce66a9f6fa854db007fa2378aeb723">More...</a><br /></td></tr>
-<tr class="separator:ab1ce66a9f6fa854db007fa2378aeb723"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac01fc92d6ac6f4df3bdb821b69328e79"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#ac01fc92d6ac6f4df3bdb821b69328e79">BIG_1024_28_dscopy</a> (<a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y)</td></tr>
-<tr class="memdesc:ac01fc92d6ac6f4df3bdb821b69328e79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to lower half of DBIG.  <a href="#ac01fc92d6ac6f4df3bdb821b69328e79">More...</a><br /></td></tr>
-<tr class="separator:ac01fc92d6ac6f4df3bdb821b69328e79"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a596c48625c51cc8ceb2a286a0908b727"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a596c48625c51cc8ceb2a286a0908b727">BIG_1024_28_sdcopy</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> y)</td></tr>
-<tr class="memdesc:a596c48625c51cc8ceb2a286a0908b727"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy lower half of DBIG to a BIG.  <a href="#a596c48625c51cc8ceb2a286a0908b727">More...</a><br /></td></tr>
-<tr class="separator:a596c48625c51cc8ceb2a286a0908b727"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9609a8759b62bd952da5edd4e2c2f2d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a9609a8759b62bd952da5edd4e2c2f2d8">BIG_1024_28_sducopy</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> y)</td></tr>
-<tr class="memdesc:a9609a8759b62bd952da5edd4e2c2f2d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy upper half of DBIG to a BIG.  <a href="#a9609a8759b62bd952da5edd4e2c2f2d8">More...</a><br /></td></tr>
-<tr class="separator:a9609a8759b62bd952da5edd4e2c2f2d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a48be27e2baa6b6d226b049819e4279d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a48be27e2baa6b6d226b049819e4279d5">BIG_1024_28_zero</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x)</td></tr>
-<tr class="memdesc:a48be27e2baa6b6d226b049819e4279d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to zero.  <a href="#a48be27e2baa6b6d226b049819e4279d5">More...</a><br /></td></tr>
-<tr class="separator:a48be27e2baa6b6d226b049819e4279d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adf9707f6f05fa6f11f652c66df3ec4aa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#adf9707f6f05fa6f11f652c66df3ec4aa">BIG_1024_28_dzero</a> (<a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x)</td></tr>
-<tr class="memdesc:adf9707f6f05fa6f11f652c66df3ec4aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to zero.  <a href="#adf9707f6f05fa6f11f652c66df3ec4aa">More...</a><br /></td></tr>
-<tr class="separator:adf9707f6f05fa6f11f652c66df3ec4aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6070c113d74ea38583c472dd659aa842"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a6070c113d74ea38583c472dd659aa842">BIG_1024_28_one</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x)</td></tr>
-<tr class="memdesc:a6070c113d74ea38583c472dd659aa842"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to one (unity)  <a href="#a6070c113d74ea38583c472dd659aa842">More...</a><br /></td></tr>
-<tr class="separator:a6070c113d74ea38583c472dd659aa842"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5b78d54fd0539fc84bdfb007a0b967bf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a5b78d54fd0539fc84bdfb007a0b967bf">BIG_1024_28_invmod2m</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x)</td></tr>
-<tr class="memdesc:a5b78d54fd0539fc84bdfb007a0b967bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to inverse mod 2^256.  <a href="#a5b78d54fd0539fc84bdfb007a0b967bf">More...</a><br /></td></tr>
-<tr class="separator:a5b78d54fd0539fc84bdfb007a0b967bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9c73a8b4ca792ebba655eb8b8de2670d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a9c73a8b4ca792ebba655eb8b8de2670d">BIG_1024_28_add</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> z)</td></tr>
-<tr class="memdesc:a9c73a8b4ca792ebba655eb8b8de2670d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to sum of two BIGs - output not normalised.  <a href="#a9c73a8b4ca792ebba655eb8b8de2670d">More...</a><br /></td></tr>
-<tr class="separator:a9c73a8b4ca792ebba655eb8b8de2670d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adad5cb758e64bf8e2dd1bf72d43a77ef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#adad5cb758e64bf8e2dd1bf72d43a77ef">BIG_1024_28_or</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> z)</td></tr>
-<tr class="memdesc:adad5cb758e64bf8e2dd1bf72d43a77ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to logical or of two BIGs - output normalised.  <a href="#adad5cb758e64bf8e2dd1bf72d43a77ef">More...</a><br /></td></tr>
-<tr class="separator:adad5cb758e64bf8e2dd1bf72d43a77ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a798b28f9b493c155ceed8179e7ffc3db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a798b28f9b493c155ceed8179e7ffc3db">BIG_1024_28_inc</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, int i)</td></tr>
-<tr class="memdesc:a798b28f9b493c155ceed8179e7ffc3db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment BIG by a small integer - output not normalised.  <a href="#a798b28f9b493c155ceed8179e7ffc3db">More...</a><br /></td></tr>
-<tr class="separator:a798b28f9b493c155ceed8179e7ffc3db"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af62f511ff4949856be991fe7a1da4fe0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#af62f511ff4949856be991fe7a1da4fe0">BIG_1024_28_sub</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> z)</td></tr>
-<tr class="memdesc:af62f511ff4949856be991fe7a1da4fe0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to difference of two BIGs.  <a href="#af62f511ff4949856be991fe7a1da4fe0">More...</a><br /></td></tr>
-<tr class="separator:af62f511ff4949856be991fe7a1da4fe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a68251081eb47c35887ff408402c205d3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a68251081eb47c35887ff408402c205d3">BIG_1024_28_dec</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, int i)</td></tr>
-<tr class="memdesc:a68251081eb47c35887ff408402c205d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement BIG by a small integer - output not normalised.  <a href="#a68251081eb47c35887ff408402c205d3">More...</a><br /></td></tr>
-<tr class="separator:a68251081eb47c35887ff408402c205d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3a1df8433d95c50fa37bf1ee3f7dc4c4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a3a1df8433d95c50fa37bf1ee3f7dc4c4">BIG_1024_28_dadd</a> (<a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> y, <a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> z)</td></tr>
-<tr class="memdesc:a3a1df8433d95c50fa37bf1ee3f7dc4c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to sum of two DBIGs.  <a href="#a3a1df8433d95c50fa37bf1ee3f7dc4c4">More...</a><br /></td></tr>
-<tr class="separator:a3a1df8433d95c50fa37bf1ee3f7dc4c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7f11d7b27dc1dd657e6aac4305e81982"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a7f11d7b27dc1dd657e6aac4305e81982">BIG_1024_28_dsub</a> (<a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> y, <a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> z)</td></tr>
-<tr class="memdesc:a7f11d7b27dc1dd657e6aac4305e81982"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to difference of two DBIGs.  <a href="#a7f11d7b27dc1dd657e6aac4305e81982">More...</a><br /></td></tr>
-<tr class="separator:a7f11d7b27dc1dd657e6aac4305e81982"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aecefd0d641d7df1e3b7104dd6788a99d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#aecefd0d641d7df1e3b7104dd6788a99d">BIG_1024_28_imul</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y, int i)</td></tr>
-<tr class="memdesc:aecefd0d641d7df1e3b7104dd6788a99d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by a small integer - output not normalised.  <a href="#aecefd0d641d7df1e3b7104dd6788a99d">More...</a><br /></td></tr>
-<tr class="separator:aecefd0d641d7df1e3b7104dd6788a99d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8824a12970672cf823c5a16ea883a503"><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__1024__28_8h.html#a8824a12970672cf823c5a16ea883a503">BIG_1024_28_pmul</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y, int i)</td></tr>
-<tr class="memdesc:a8824a12970672cf823c5a16ea883a503"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by not-so-small small integer - output normalised.  <a href="#a8824a12970672cf823c5a16ea883a503">More...</a><br /></td></tr>
-<tr class="separator:a8824a12970672cf823c5a16ea883a503"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab71e3c68ab0701c8deed44fcfc0320da"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#ab71e3c68ab0701c8deed44fcfc0320da">BIG_1024_28_div3</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x)</td></tr>
-<tr class="memdesc:ab71e3c68ab0701c8deed44fcfc0320da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide BIG by 3 - output normalised.  <a href="#ab71e3c68ab0701c8deed44fcfc0320da">More...</a><br /></td></tr>
-<tr class="separator:ab71e3c68ab0701c8deed44fcfc0320da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8f39a50f8bd6ef64bc6d276ca47a3801"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a8f39a50f8bd6ef64bc6d276ca47a3801">BIG_1024_28_pxmul</a> (<a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y, int i)</td></tr>
-<tr class="memdesc:a8f39a50f8bd6ef64bc6d276ca47a3801"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised.  <a href="#a8f39a50f8bd6ef64bc6d276ca47a3801">More...</a><br /></td></tr>
-<tr class="separator:a8f39a50f8bd6ef64bc6d276ca47a3801"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a41e3fa7841bc262223fc6fcdef6f40ba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a41e3fa7841bc262223fc6fcdef6f40ba">BIG_1024_28_mul</a> (<a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> z)</td></tr>
-<tr class="memdesc:a41e3fa7841bc262223fc6fcdef6f40ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised.  <a href="#a41e3fa7841bc262223fc6fcdef6f40ba">More...</a><br /></td></tr>
-<tr class="separator:a41e3fa7841bc262223fc6fcdef6f40ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0b77c681bb054b89c8099dca4214fb9e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a0b77c681bb054b89c8099dca4214fb9e">BIG_1024_28_smul</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> z)</td></tr>
-<tr class="memdesc:a0b77c681bb054b89c8099dca4214fb9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised.  <a href="#a0b77c681bb054b89c8099dca4214fb9e">More...</a><br /></td></tr>
-<tr class="separator:a0b77c681bb054b89c8099dca4214fb9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab95726053fff3459ee437993a8be57ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#ab95726053fff3459ee437993a8be57ed">BIG_1024_28_sqr</a> (<a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y)</td></tr>
-<tr class="memdesc:ab95726053fff3459ee437993a8be57ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square BIG resulting in a DBIG - input normalised and output normalised.  <a href="#ab95726053fff3459ee437993a8be57ed">More...</a><br /></td></tr>
-<tr class="separator:ab95726053fff3459ee437993a8be57ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aac162cb8f56785b3dab55f23773dbf6c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#aac162cb8f56785b3dab55f23773dbf6c">BIG_1024_28_monty</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> a, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> md, <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC, <a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> d)</td></tr>
-<tr class="memdesc:aac162cb8f56785b3dab55f23773dbf6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised.  <a href="#aac162cb8f56785b3dab55f23773dbf6c">More...</a><br /></td></tr>
-<tr class="separator:aac162cb8f56785b3dab55f23773dbf6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab94e42adaa9edf6caa73217ea541a8d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#ab94e42adaa9edf6caa73217ea541a8d8">BIG_1024_28_shl</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, int s)</td></tr>
-<tr class="memdesc:ab94e42adaa9edf6caa73217ea541a8d8"><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="#ab94e42adaa9edf6caa73217ea541a8d8">More...</a><br /></td></tr>
-<tr class="separator:ab94e42adaa9edf6caa73217ea541a8d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a415004d01c4e2f89b128c01337ddc0da"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a415004d01c4e2f89b128c01337ddc0da">BIG_1024_28_fshl</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, int s)</td></tr>
-<tr class="memdesc:a415004d01c4e2f89b128c01337ddc0da"><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="#a415004d01c4e2f89b128c01337ddc0da">More...</a><br /></td></tr>
-<tr class="separator:a415004d01c4e2f89b128c01337ddc0da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac8a0e281a38a42294fa7d262b4bb88dc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#ac8a0e281a38a42294fa7d262b4bb88dc">BIG_1024_28_dshl</a> (<a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x, int s)</td></tr>
-<tr class="memdesc:ac8a0e281a38a42294fa7d262b4bb88dc"><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="#ac8a0e281a38a42294fa7d262b4bb88dc">More...</a><br /></td></tr>
-<tr class="separator:ac8a0e281a38a42294fa7d262b4bb88dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae9504ee26e7dc63dd5ddf017b5fd20fb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#ae9504ee26e7dc63dd5ddf017b5fd20fb">BIG_1024_28_shr</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, int s)</td></tr>
-<tr class="memdesc:ae9504ee26e7dc63dd5ddf017b5fd20fb"><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="#ae9504ee26e7dc63dd5ddf017b5fd20fb">More...</a><br /></td></tr>
-<tr class="separator:ae9504ee26e7dc63dd5ddf017b5fd20fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adf9fbb2177618cc5b47ee6445726128b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#adf9fbb2177618cc5b47ee6445726128b">BIG_1024_28_ssn</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> r, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> a, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> m)</td></tr>
-<tr class="memdesc:adf9fbb2177618cc5b47ee6445726128b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast time-critical combined shift by 1 bit, subtract and normalise.  <a href="#adf9fbb2177618cc5b47ee6445726128b">More...</a><br /></td></tr>
-<tr class="separator:adf9fbb2177618cc5b47ee6445726128b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a59b2d05311ee721798227fe033b3c758"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a59b2d05311ee721798227fe033b3c758">BIG_1024_28_fshr</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, int s)</td></tr>
-<tr class="memdesc:a59b2d05311ee721798227fe033b3c758"><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="#a59b2d05311ee721798227fe033b3c758">More...</a><br /></td></tr>
-<tr class="separator:a59b2d05311ee721798227fe033b3c758"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6ee4273810629405a0fabbcfbe97bea5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a6ee4273810629405a0fabbcfbe97bea5">BIG_1024_28_dshr</a> (<a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x, int s)</td></tr>
-<tr class="memdesc:a6ee4273810629405a0fabbcfbe97bea5"><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="#a6ee4273810629405a0fabbcfbe97bea5">More...</a><br /></td></tr>
-<tr class="separator:a6ee4273810629405a0fabbcfbe97bea5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad3f7062bf40d58cd91bb984f9374925f"><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__1024__28_8h.html#ad3f7062bf40d58cd91bb984f9374925f">BIG_1024_28_split</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y, <a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> z, int s)</td></tr>
-<tr class="memdesc:ad3f7062bf40d58cd91bb984f9374925f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a DBIG into two BIGs - input must be normalised, outputs normalised.  <a href="#ad3f7062bf40d58cd91bb984f9374925f">More...</a><br /></td></tr>
-<tr class="separator:ad3f7062bf40d58cd91bb984f9374925f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a20a571a3b9d00d82e00674a4eb9080b5"><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__1024__28_8h.html#a20a571a3b9d00d82e00674a4eb9080b5">BIG_1024_28_norm</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x)</td></tr>
-<tr class="memdesc:a20a571a3b9d00d82e00674a4eb9080b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a BIG number - output normalised.  <a href="#a20a571a3b9d00d82e00674a4eb9080b5">More...</a><br /></td></tr>
-<tr class="separator:a20a571a3b9d00d82e00674a4eb9080b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af187316ae9c222a6f537ba02ba6d58a0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#af187316ae9c222a6f537ba02ba6d58a0">BIG_1024_28_dnorm</a> (<a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x)</td></tr>
-<tr class="memdesc:af187316ae9c222a6f537ba02ba6d58a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a DBIG number - output normalised.  <a href="#af187316ae9c222a6f537ba02ba6d58a0">More...</a><br /></td></tr>
-<tr class="separator:af187316ae9c222a6f537ba02ba6d58a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7c8aaa518123c302d7fb727c066de799"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a7c8aaa518123c302d7fb727c066de799">BIG_1024_28_comp</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y)</td></tr>
-<tr class="memdesc:a7c8aaa518123c302d7fb727c066de799"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two BIG numbers. Inputs must be normalised externally.  <a href="#a7c8aaa518123c302d7fb727c066de799">More...</a><br /></td></tr>
-<tr class="separator:a7c8aaa518123c302d7fb727c066de799"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a19e306f9d97cbbf8a215edb1fdbca3a6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a19e306f9d97cbbf8a215edb1fdbca3a6">BIG_1024_28_dcomp</a> (<a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> y)</td></tr>
-<tr class="memdesc:a19e306f9d97cbbf8a215edb1fdbca3a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two DBIG numbers. Inputs must be normalised externally.  <a href="#a19e306f9d97cbbf8a215edb1fdbca3a6">More...</a><br /></td></tr>
-<tr class="separator:a19e306f9d97cbbf8a215edb1fdbca3a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a16c692d644de8d6e3f481ec50ed1b627"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a16c692d644de8d6e3f481ec50ed1b627">BIG_1024_28_nbits</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x)</td></tr>
-<tr class="memdesc:a16c692d644de8d6e3f481ec50ed1b627"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a BIG - output normalised.  <a href="#a16c692d644de8d6e3f481ec50ed1b627">More...</a><br /></td></tr>
-<tr class="separator:a16c692d644de8d6e3f481ec50ed1b627"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa342006f3e76fe3efa25ec596bfcaa09"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#aa342006f3e76fe3efa25ec596bfcaa09">BIG_1024_28_dnbits</a> (<a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x)</td></tr>
-<tr class="memdesc:aa342006f3e76fe3efa25ec596bfcaa09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a DBIG - output normalised.  <a href="#aa342006f3e76fe3efa25ec596bfcaa09">More...</a><br /></td></tr>
-<tr class="separator:aa342006f3e76fe3efa25ec596bfcaa09"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a321e9b9249a04c642b2f807c0181df90"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a321e9b9249a04c642b2f807c0181df90">BIG_1024_28_mod</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> n)</td></tr>
-<tr class="memdesc:a321e9b9249a04c642b2f807c0181df90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce x mod n - input and output normalised.  <a href="#a321e9b9249a04c642b2f807c0181df90">More...</a><br /></td></tr>
-<tr class="separator:a321e9b9249a04c642b2f807c0181df90"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5110b174571a2eeb198fce7834e49443"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a5110b174571a2eeb198fce7834e49443">BIG_1024_28_sdiv</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> n)</td></tr>
-<tr class="memdesc:a5110b174571a2eeb198fce7834e49443"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide x by n - output normalised.  <a href="#a5110b174571a2eeb198fce7834e49443">More...</a><br /></td></tr>
-<tr class="separator:a5110b174571a2eeb198fce7834e49443"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abdc6db328aae7ea8780787e35a976c2d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#abdc6db328aae7ea8780787e35a976c2d">BIG_1024_28_dmod</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> y, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> n)</td></tr>
-<tr class="memdesc:abdc6db328aae7ea8780787e35a976c2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y mod n - output normalised  <a href="#abdc6db328aae7ea8780787e35a976c2d">More...</a><br /></td></tr>
-<tr class="separator:abdc6db328aae7ea8780787e35a976c2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a559b6794c4285cf596285ae7030fa828"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a559b6794c4285cf596285ae7030fa828">BIG_1024_28_ddiv</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> y, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> n)</td></tr>
-<tr class="memdesc:a559b6794c4285cf596285ae7030fa828"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y/n - output normalised  <a href="#a559b6794c4285cf596285ae7030fa828">More...</a><br /></td></tr>
-<tr class="separator:a559b6794c4285cf596285ae7030fa828"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a80e1cc2bb904feea615dd9818f0ecb59"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a80e1cc2bb904feea615dd9818f0ecb59">BIG_1024_28_parity</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x)</td></tr>
-<tr class="memdesc:a80e1cc2bb904feea615dd9818f0ecb59"><td class="mdescLeft">&#160;</td><td class="mdescRight">return parity of BIG, that is the least significant bit  <a href="#a80e1cc2bb904feea615dd9818f0ecb59">More...</a><br /></td></tr>
-<tr class="separator:a80e1cc2bb904feea615dd9818f0ecb59"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a46f3c11d266f3caeaefef3f85f7e71d7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a46f3c11d266f3caeaefef3f85f7e71d7">BIG_1024_28_bit</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, int i)</td></tr>
-<tr class="memdesc:a46f3c11d266f3caeaefef3f85f7e71d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">return i-th of BIG  <a href="#a46f3c11d266f3caeaefef3f85f7e71d7">More...</a><br /></td></tr>
-<tr class="separator:a46f3c11d266f3caeaefef3f85f7e71d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a52e1428d99c2bb831b79ca7ef8c8e8e0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a52e1428d99c2bb831b79ca7ef8c8e8e0">BIG_1024_28_lastbits</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, int n)</td></tr>
-<tr class="memdesc:a52e1428d99c2bb831b79ca7ef8c8e8e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">return least significant bits of a BIG  <a href="#a52e1428d99c2bb831b79ca7ef8c8e8e0">More...</a><br /></td></tr>
-<tr class="separator:a52e1428d99c2bb831b79ca7ef8c8e8e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9ba4f0104e394a5d8e7455d1cac1c502"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a9ba4f0104e394a5d8e7455d1cac1c502">BIG_1024_28_random</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:a9ba4f0104e394a5d8e7455d1cac1c502"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random BIG from a random number generator.  <a href="#a9ba4f0104e394a5d8e7455d1cac1c502">More...</a><br /></td></tr>
-<tr class="separator:a9ba4f0104e394a5d8e7455d1cac1c502"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af31fe3a4a7787c2ca597bc7c23293f37"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#af31fe3a4a7787c2ca597bc7c23293f37">BIG_1024_28_randomnum</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> n, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:af31fe3a4a7787c2ca597bc7c23293f37"><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="#af31fe3a4a7787c2ca597bc7c23293f37">More...</a><br /></td></tr>
-<tr class="separator:af31fe3a4a7787c2ca597bc7c23293f37"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acc2f1661baf86b9975011a6dc857ad6b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#acc2f1661baf86b9975011a6dc857ad6b">BIG_1024_28_modmul</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> z, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> n)</td></tr>
-<tr class="memdesc:acc2f1661baf86b9975011a6dc857ad6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y*z mod n.  <a href="#acc2f1661baf86b9975011a6dc857ad6b">More...</a><br /></td></tr>
-<tr class="separator:acc2f1661baf86b9975011a6dc857ad6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa8b4cf5c4f52074a6eb3ece6f6d4a83c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#aa8b4cf5c4f52074a6eb3ece6f6d4a83c">BIG_1024_28_moddiv</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> z, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> n)</td></tr>
-<tr class="memdesc:aa8b4cf5c4f52074a6eb3ece6f6d4a83c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y/z mod n.  <a href="#aa8b4cf5c4f52074a6eb3ece6f6d4a83c">More...</a><br /></td></tr>
-<tr class="separator:aa8b4cf5c4f52074a6eb3ece6f6d4a83c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8e82166152f3b17468117c89a28c5445"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a8e82166152f3b17468117c89a28c5445">BIG_1024_28_modsqr</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> n)</td></tr>
-<tr class="memdesc:a8e82166152f3b17468117c89a28c5445"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y^2 mod n.  <a href="#a8e82166152f3b17468117c89a28c5445">More...</a><br /></td></tr>
-<tr class="separator:a8e82166152f3b17468117c89a28c5445"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6bda312c89508e974166321f8980d201"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a6bda312c89508e974166321f8980d201">BIG_1024_28_modneg</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> n)</td></tr>
-<tr class="memdesc:a6bda312c89508e974166321f8980d201"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=-y mod n.  <a href="#a6bda312c89508e974166321f8980d201">More...</a><br /></td></tr>
-<tr class="separator:a6bda312c89508e974166321f8980d201"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa965afaeb22bdfddf122274e78e98585"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#aa965afaeb22bdfddf122274e78e98585">BIG_1024_28_jacobi</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y)</td></tr>
-<tr class="memdesc:aa965afaeb22bdfddf122274e78e98585"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate jacobi Symbol (x/y)  <a href="#aa965afaeb22bdfddf122274e78e98585">More...</a><br /></td></tr>
-<tr class="separator:aa965afaeb22bdfddf122274e78e98585"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8061d3296101802f5a43ee31df48104c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a8061d3296101802f5a43ee31df48104c">BIG_1024_28_invmodp</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y, <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> n)</td></tr>
-<tr class="memdesc:a8061d3296101802f5a43ee31df48104c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=1/y mod n.  <a href="#a8061d3296101802f5a43ee31df48104c">More...</a><br /></td></tr>
-<tr class="separator:a8061d3296101802f5a43ee31df48104c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afcbdc858bc02d509b14c5a487f964014"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#afcbdc858bc02d509b14c5a487f964014">BIG_1024_28_mod2m</a> (<a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x, int m)</td></tr>
-<tr class="memdesc:afcbdc858bc02d509b14c5a487f964014"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#afcbdc858bc02d509b14c5a487f964014">More...</a><br /></td></tr>
-<tr class="separator:afcbdc858bc02d509b14c5a487f964014"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0af8fe60752ace226e1980f42ee1323c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html#a0af8fe60752ace226e1980f42ee1323c">BIG_1024_28_dmod2m</a> (<a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x, int m)</td></tr>
-<tr class="memdesc:a0af8fe60752ace226e1980f42ee1323c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#a0af8fe60752ace226e1980f42ee1323c">More...</a><br /></td></tr>
-<tr class="separator:a0af8fe60752ace226e1980f42ee1323c"><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="a5e823eda976231f0b203b47b75115f75"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5e823eda976231f0b203b47b75115f75">&#9670;&nbsp;</a></span>BIGBITS_1024_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BIGBITS_1024_28&#160;&#160;&#160;(8*<a class="el" href="config__big__1024__28_8h.html#a9a4d6b54c5d5a63aad6877c762a6f30f">MODBYTES_1024_28</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Length in bits </p>
-
-</div>
-</div>
-<a id="a201c6297075d183fc4f9ec6407a7234c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a201c6297075d183fc4f9ec6407a7234c">&#9670;&nbsp;</a></span>BMASK_1024_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BMASK_1024_28&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__1024__28_8h.html#a5eaa43c96333aeb94a5ce4ab00c5b823">BASEBITS_1024_28</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^BASEBITS-1 </p>
-
-</div>
-</div>
-<a id="af8b455367bcf8cda171906b600389f81"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af8b455367bcf8cda171906b600389f81">&#9670;&nbsp;</a></span>DNLEN_1024_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DNLEN_1024_28&#160;&#160;&#160;2*<a class="el" href="big__1024__28_8h.html#a20e1a7a0c0b849acb553c1c1a333d54f">NLEN_1024_28</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Double length in bytes </p>
-
-</div>
-</div>
-<a id="a47199d90c03e396ce0dd54b3750ba488"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a47199d90c03e396ce0dd54b3750ba488">&#9670;&nbsp;</a></span>HBITS_1024_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HBITS_1024_28&#160;&#160;&#160;(<a class="el" href="config__big__1024__28_8h.html#a5eaa43c96333aeb94a5ce4ab00c5b823">BASEBITS_1024_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="a7b9b9c4d137721a8bd5a9762235dbf56"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7b9b9c4d137721a8bd5a9762235dbf56">&#9670;&nbsp;</a></span>HMASK_1024_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HMASK_1024_28&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__1024__28_8h.html#a47199d90c03e396ce0dd54b3750ba488">HBITS_1024_28</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^HBITS-1 </p>
-
-</div>
-</div>
-<a id="a69f667152c7fff6cad4a64eaaf8a21da"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a69f667152c7fff6cad4a64eaaf8a21da">&#9670;&nbsp;</a></span>NEXCESS_1024_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NEXCESS_1024_28&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__1024__28_8h.html#a5eaa43c96333aeb94a5ce4ab00c5b823">BASEBITS_1024_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="a20e1a7a0c0b849acb553c1c1a333d54f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a20e1a7a0c0b849acb553c1c1a333d54f">&#9670;&nbsp;</a></span>NLEN_1024_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NLEN_1024_28&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__1024__28_8h.html#a9a4d6b54c5d5a63aad6877c762a6f30f">MODBYTES_1024_28</a>-1)/<a class="el" href="config__big__1024__28_8h.html#a5eaa43c96333aeb94a5ce4ab00c5b823">BASEBITS_1024_28</a>))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>length in bytes </p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a id="a77f957795c4ef4ee62e89dd7cb45dd62"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a77f957795c4ef4ee62e89dd7cb45dd62">&#9670;&nbsp;</a></span>BIG_1024_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_1024_28[<a class="el" href="big__1024__28_8h.html#a20e1a7a0c0b849acb553c1c1a333d54f">NLEN_1024_28</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Define type BIG as array of chunks </p>
-
-</div>
-</div>
-<a id="a5eb955f7af3647f964de7cddf9cd5647"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5eb955f7af3647f964de7cddf9cd5647">&#9670;&nbsp;</a></span>DBIG_1024_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_1024_28[<a class="el" href="big__1024__28_8h.html#af8b455367bcf8cda171906b600389f81">DNLEN_1024_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="a9c73a8b4ca792ebba655eb8b8de2670d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9c73a8b4ca792ebba655eb8b8de2670d">&#9670;&nbsp;</a></span>BIG_1024_28_add()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_add </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a46f3c11d266f3caeaefef3f85f7e71d7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a46f3c11d266f3caeaefef3f85f7e71d7">&#9670;&nbsp;</a></span>BIG_1024_28_bit()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_1024_28_bit </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a906cde91ce5641663dcf1e1914d45bdf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a906cde91ce5641663dcf1e1914d45bdf">&#9670;&nbsp;</a></span>BIG_1024_28_cmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_cmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a7c8aaa518123c302d7fb727c066de799"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7c8aaa518123c302d7fb727c066de799">&#9670;&nbsp;</a></span>BIG_1024_28_comp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_1024_28_comp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a2f8bb5efa10f39a457a76d3621daade8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2f8bb5efa10f39a457a76d3621daade8">&#9670;&nbsp;</a></span>BIG_1024_28_copy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_copy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a74b190b116ad7b8ae61ecf74e7f81104"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a74b190b116ad7b8ae61ecf74e7f81104">&#9670;&nbsp;</a></span>BIG_1024_28_cswap()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_cswap </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a3a1df8433d95c50fa37bf1ee3f7dc4c4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3a1df8433d95c50fa37bf1ee3f7dc4c4">&#9670;&nbsp;</a></span>BIG_1024_28_dadd()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_dadd </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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="a600f84090df4a150aa47d45cd767617c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a600f84090df4a150aa47d45cd767617c">&#9670;&nbsp;</a></span>BIG_1024_28_dcmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_dcmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a19e306f9d97cbbf8a215edb1fdbca3a6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a19e306f9d97cbbf8a215edb1fdbca3a6">&#9670;&nbsp;</a></span>BIG_1024_28_dcomp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_1024_28_dcomp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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="a5111c6e4404bf58f040776042ece1108"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5111c6e4404bf58f040776042ece1108">&#9670;&nbsp;</a></span>BIG_1024_28_dcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_dcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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="a559b6794c4285cf596285ae7030fa828"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a559b6794c4285cf596285ae7030fa828">&#9670;&nbsp;</a></span>BIG_1024_28_ddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_ddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a68251081eb47c35887ff408402c205d3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a68251081eb47c35887ff408402c205d3">&#9670;&nbsp;</a></span>BIG_1024_28_dec()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_dec </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a25fad48097ab1a81c2654cb2c363a8ea"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a25fad48097ab1a81c2654cb2c363a8ea">&#9670;&nbsp;</a></span>BIG_1024_28_dfromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_dfromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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="ae7aa0c3c199de111505a1f2fa620fb68"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae7aa0c3c199de111505a1f2fa620fb68">&#9670;&nbsp;</a></span>BIG_1024_28_diszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_1024_28_diszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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="ab71e3c68ab0701c8deed44fcfc0320da"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab71e3c68ab0701c8deed44fcfc0320da">&#9670;&nbsp;</a></span>BIG_1024_28_div3()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_1024_28_div3 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="abdc6db328aae7ea8780787e35a976c2d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abdc6db328aae7ea8780787e35a976c2d">&#9670;&nbsp;</a></span>BIG_1024_28_dmod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_dmod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a0af8fe60752ace226e1980f42ee1323c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0af8fe60752ace226e1980f42ee1323c">&#9670;&nbsp;</a></span>BIG_1024_28_dmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_dmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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="aa342006f3e76fe3efa25ec596bfcaa09"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa342006f3e76fe3efa25ec596bfcaa09">&#9670;&nbsp;</a></span>BIG_1024_28_dnbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_1024_28_dnbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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="af187316ae9c222a6f537ba02ba6d58a0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af187316ae9c222a6f537ba02ba6d58a0">&#9670;&nbsp;</a></span>BIG_1024_28_dnorm()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_dnorm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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="ac56ff1f8b418819b091d51e44cc8decb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac56ff1f8b418819b091d51e44cc8decb">&#9670;&nbsp;</a></span>BIG_1024_28_doutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_doutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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="a2cb16afcdacd4d31ca6126333cbd8d4d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2cb16afcdacd4d31ca6126333cbd8d4d">&#9670;&nbsp;</a></span>BIG_1024_28_drawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_drawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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="ac01fc92d6ac6f4df3bdb821b69328e79"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac01fc92d6ac6f4df3bdb821b69328e79">&#9670;&nbsp;</a></span>BIG_1024_28_dscopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_dscopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="ac8a0e281a38a42294fa7d262b4bb88dc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac8a0e281a38a42294fa7d262b4bb88dc">&#9670;&nbsp;</a></span>BIG_1024_28_dshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_dshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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="a6ee4273810629405a0fabbcfbe97bea5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6ee4273810629405a0fabbcfbe97bea5">&#9670;&nbsp;</a></span>BIG_1024_28_dshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_dshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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="a7f11d7b27dc1dd657e6aac4305e81982"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7f11d7b27dc1dd657e6aac4305e81982">&#9670;&nbsp;</a></span>BIG_1024_28_dsub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_dsub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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="ab1ce66a9f6fa854db007fa2378aeb723"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab1ce66a9f6fa854db007fa2378aeb723">&#9670;&nbsp;</a></span>BIG_1024_28_dsucopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_dsucopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="adf9707f6f05fa6f11f652c66df3ec4aa"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adf9707f6f05fa6f11f652c66df3ec4aa">&#9670;&nbsp;</a></span>BIG_1024_28_dzero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_dzero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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="a1fcdbb02f4a74e2fd5a3e4a7b2df99c5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1fcdbb02f4a74e2fd5a3e4a7b2df99c5">&#9670;&nbsp;</a></span>BIG_1024_28_fromBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_fromBytes </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a8eed0c87536a7eee8a505d78743bb0fa"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8eed0c87536a7eee8a505d78743bb0fa">&#9670;&nbsp;</a></span>BIG_1024_28_fromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_fromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a415004d01c4e2f89b128c01337ddc0da"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a415004d01c4e2f89b128c01337ddc0da">&#9670;&nbsp;</a></span>BIG_1024_28_fshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_1024_28_fshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a59b2d05311ee721798227fe033b3c758"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a59b2d05311ee721798227fe033b3c758">&#9670;&nbsp;</a></span>BIG_1024_28_fshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_1024_28_fshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="aecefd0d641d7df1e3b7104dd6788a99d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aecefd0d641d7df1e3b7104dd6788a99d">&#9670;&nbsp;</a></span>BIG_1024_28_imul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_imul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a798b28f9b493c155ceed8179e7ffc3db"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a798b28f9b493c155ceed8179e7ffc3db">&#9670;&nbsp;</a></span>BIG_1024_28_inc()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_inc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a5b78d54fd0539fc84bdfb007a0b967bf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5b78d54fd0539fc84bdfb007a0b967bf">&#9670;&nbsp;</a></span>BIG_1024_28_invmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_invmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a8061d3296101802f5a43ee31df48104c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8061d3296101802f5a43ee31df48104c">&#9670;&nbsp;</a></span>BIG_1024_28_invmodp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_invmodp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="afd3bcd46deffcd767611c36b0a05ba43"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afd3bcd46deffcd767611c36b0a05ba43">&#9670;&nbsp;</a></span>BIG_1024_28_isunity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_1024_28_isunity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a4c24835682c9662e0d3850e8d0af3592"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4c24835682c9662e0d3850e8d0af3592">&#9670;&nbsp;</a></span>BIG_1024_28_iszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_1024_28_iszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="aa965afaeb22bdfddf122274e78e98585"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa965afaeb22bdfddf122274e78e98585">&#9670;&nbsp;</a></span>BIG_1024_28_jacobi()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_1024_28_jacobi </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a52e1428d99c2bb831b79ca7ef8c8e8e0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a52e1428d99c2bb831b79ca7ef8c8e8e0">&#9670;&nbsp;</a></span>BIG_1024_28_lastbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_1024_28_lastbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a321e9b9249a04c642b2f807c0181df90"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a321e9b9249a04c642b2f807c0181df90">&#9670;&nbsp;</a></span>BIG_1024_28_mod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_mod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="afcbdc858bc02d509b14c5a487f964014"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afcbdc858bc02d509b14c5a487f964014">&#9670;&nbsp;</a></span>BIG_1024_28_mod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_mod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="aa8b4cf5c4f52074a6eb3ece6f6d4a83c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa8b4cf5c4f52074a6eb3ece6f6d4a83c">&#9670;&nbsp;</a></span>BIG_1024_28_moddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_moddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="acc2f1661baf86b9975011a6dc857ad6b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acc2f1661baf86b9975011a6dc857ad6b">&#9670;&nbsp;</a></span>BIG_1024_28_modmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_modmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a6bda312c89508e974166321f8980d201"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6bda312c89508e974166321f8980d201">&#9670;&nbsp;</a></span>BIG_1024_28_modneg()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_modneg </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a8e82166152f3b17468117c89a28c5445"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8e82166152f3b17468117c89a28c5445">&#9670;&nbsp;</a></span>BIG_1024_28_modsqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_modsqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="aac162cb8f56785b3dab55f23773dbf6c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aac162cb8f56785b3dab55f23773dbf6c">&#9670;&nbsp;</a></span>BIG_1024_28_monty()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_monty </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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="a41e3fa7841bc262223fc6fcdef6f40ba"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a41e3fa7841bc262223fc6fcdef6f40ba">&#9670;&nbsp;</a></span>BIG_1024_28_mul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_mul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a16c692d644de8d6e3f481ec50ed1b627"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a16c692d644de8d6e3f481ec50ed1b627">&#9670;&nbsp;</a></span>BIG_1024_28_nbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_1024_28_nbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a20a571a3b9d00d82e00674a4eb9080b5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a20a571a3b9d00d82e00674a4eb9080b5">&#9670;&nbsp;</a></span>BIG_1024_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_1024_28_norm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a6070c113d74ea38583c472dd659aa842"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6070c113d74ea38583c472dd659aa842">&#9670;&nbsp;</a></span>BIG_1024_28_one()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_one </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="adad5cb758e64bf8e2dd1bf72d43a77ef"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adad5cb758e64bf8e2dd1bf72d43a77ef">&#9670;&nbsp;</a></span>BIG_1024_28_or()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_or </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a8be43fff007f3d452f7b71ee8c9ad8bc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8be43fff007f3d452f7b71ee8c9ad8bc">&#9670;&nbsp;</a></span>BIG_1024_28_output()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_output </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a80e1cc2bb904feea615dd9818f0ecb59"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a80e1cc2bb904feea615dd9818f0ecb59">&#9670;&nbsp;</a></span>BIG_1024_28_parity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_1024_28_parity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a8824a12970672cf823c5a16ea883a503"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8824a12970672cf823c5a16ea883a503">&#9670;&nbsp;</a></span>BIG_1024_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_1024_28_pmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a8f39a50f8bd6ef64bc6d276ca47a3801"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8f39a50f8bd6ef64bc6d276ca47a3801">&#9670;&nbsp;</a></span>BIG_1024_28_pxmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_pxmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a9ba4f0104e394a5d8e7455d1cac1c502"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9ba4f0104e394a5d8e7455d1cac1c502">&#9670;&nbsp;</a></span>BIG_1024_28_random()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_random </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="af31fe3a4a7787c2ca597bc7c23293f37"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af31fe3a4a7787c2ca597bc7c23293f37">&#9670;&nbsp;</a></span>BIG_1024_28_randomnum()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_randomnum </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a053a019376c8068134541df485a77fbc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a053a019376c8068134541df485a77fbc">&#9670;&nbsp;</a></span>BIG_1024_28_rawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_rawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="ab587b7b3487be40d7f181e14a2c19111"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab587b7b3487be40d7f181e14a2c19111">&#9670;&nbsp;</a></span>BIG_1024_28_rcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_rcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a596c48625c51cc8ceb2a286a0908b727"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a596c48625c51cc8ceb2a286a0908b727">&#9670;&nbsp;</a></span>BIG_1024_28_sdcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_sdcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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="a5110b174571a2eeb198fce7834e49443"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5110b174571a2eeb198fce7834e49443">&#9670;&nbsp;</a></span>BIG_1024_28_sdiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_sdiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a9609a8759b62bd952da5edd4e2c2f2d8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9609a8759b62bd952da5edd4e2c2f2d8">&#9670;&nbsp;</a></span>BIG_1024_28_sducopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_sducopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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="ab94e42adaa9edf6caa73217ea541a8d8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab94e42adaa9edf6caa73217ea541a8d8">&#9670;&nbsp;</a></span>BIG_1024_28_shl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_shl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="ae9504ee26e7dc63dd5ddf017b5fd20fb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae9504ee26e7dc63dd5ddf017b5fd20fb">&#9670;&nbsp;</a></span>BIG_1024_28_shr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_shr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a0b77c681bb054b89c8099dca4214fb9e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0b77c681bb054b89c8099dca4214fb9e">&#9670;&nbsp;</a></span>BIG_1024_28_smul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_smul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="ad3f7062bf40d58cd91bb984f9374925f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad3f7062bf40d58cd91bb984f9374925f">&#9670;&nbsp;</a></span>BIG_1024_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_1024_28_split </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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="ab95726053fff3459ee437993a8be57ed"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab95726053fff3459ee437993a8be57ed">&#9670;&nbsp;</a></span>BIG_1024_28_sqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_sqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="adf9fbb2177618cc5b47ee6445726128b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adf9fbb2177618cc5b47ee6445726128b">&#9670;&nbsp;</a></span>BIG_1024_28_ssn()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_1024_28_ssn </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="af62f511ff4949856be991fe7a1da4fe0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af62f511ff4949856be991fe7a1da4fe0">&#9670;&nbsp;</a></span>BIG_1024_28_sub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_sub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a210b8ce96bb74cefeedfd51e2c72fbba"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a210b8ce96bb74cefeedfd51e2c72fbba">&#9670;&nbsp;</a></span>BIG_1024_28_toBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_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__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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="a48be27e2baa6b6d226b049819e4279d5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a48be27e2baa6b6d226b049819e4279d5">&#9670;&nbsp;</a></span>BIG_1024_28_zero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_1024_28_zero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_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>
diff --git a/website/static/cdocs/big__1024__28_8h_source.html b/website/static/cdocs/big__1024__28_8h_source.html
deleted file mode 100644
index 2ce121b..0000000
--- a/website/static/cdocs/big__1024__28_8h_source.html
+++ /dev/null
@@ -1,163 +0,0 @@
-<!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_1024_28.h Source File</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="headertitle">
-<div class="title">big_1024_28.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="big__1024__28_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">        Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">        or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">        distributed with this work for additional information</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">        regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">        to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">        &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">        with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">        http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">        Unless required by applicable law or agreed to in writing,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">        software distributed under the License is distributed on an</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">        &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">        KIND, either express or implied.  See the License for the</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">        specific language governing permissions and limitations</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">        under the License.</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#ifndef BIG_1024_28_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_1024_28_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;inttypes.h&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="arch_8h.html">arch.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;amcl.h&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__1024__28_8h.html">config_big_1024_28.h</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">//#define UNWOUND</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="big__1024__28_8h.html#a5e823eda976231f0b203b47b75115f75">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_1024_28 (8*MODBYTES_1024_28) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__1024__28_8h.html#a20e1a7a0c0b849acb553c1c1a333d54f">   40</a></span>&#160;<span class="preprocessor">#define NLEN_1024_28 (1+((8*MODBYTES_1024_28-1)/BASEBITS_1024_28)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__1024__28_8h.html#af8b455367bcf8cda171906b600389f81">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_1024_28 2*NLEN_1024_28 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__1024__28_8h.html#a201c6297075d183fc4f9ec6407a7234c">   42</a></span>&#160;<span class="preprocessor">#define BMASK_1024_28 (((chunk)1&lt;&lt;BASEBITS_1024_28)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__1024__28_8h.html#a69f667152c7fff6cad4a64eaaf8a21da">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_1024_28 (1&lt;&lt;(CHUNK-BASEBITS_1024_28-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__1024__28_8h.html#a47199d90c03e396ce0dd54b3750ba488">   45</a></span>&#160;<span class="preprocessor">#define HBITS_1024_28 (BASEBITS_1024_28/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__1024__28_8h.html#a7b9b9c4d137721a8bd5a9762235dbf56">   46</a></span>&#160;<span class="preprocessor">#define HMASK_1024_28 (((chunk)1&lt;&lt;HBITS_1024_28)-1)    </span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">//#define DEBUG_NORM</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#ifdef DEBUG_NORM  </span><span class="comment">/* Add an extra location to track chunk extension */</span><span class="preprocessor"></span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#define MPV_1024_28 NLEN_1024_28</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_1024_28 (NLEN_1024_28+1)</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a>[<a class="code" href="big__1024__28_8h.html#a20e1a7a0c0b849acb553c1c1a333d54f">NLEN_1024_28</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_1024_28 DNLEN_1024_28</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_1024_28 (DNLEN_1024_28+1)</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a>[<a class="code" href="big__1024__28_8h.html#af8b455367bcf8cda171906b600389f81">DNLEN_1024_28</a>+2]; </div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a>[<a class="code" href="big__1024__28_8h.html#a20e1a7a0c0b849acb553c1c1a333d54f">NLEN_1024_28</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a>[<a class="code" href="big__1024__28_8h.html#af8b455367bcf8cda171906b600389f81">DNLEN_1024_28</a>];   </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* BIG number prototypes */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__28_8h.html#a4c24835682c9662e0d3850e8d0af3592">BIG_1024_28_iszilch</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__28_8h.html#afd3bcd46deffcd767611c36b0a05ba43">BIG_1024_28_isunity</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x);</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__28_8h.html#ae7aa0c3c199de111505a1f2fa620fb68">BIG_1024_28_diszilch</a>(<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a8be43fff007f3d452f7b71ee8c9ad8bc">BIG_1024_28_output</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a053a019376c8068134541df485a77fbc">BIG_1024_28_rawoutput</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a74b190b116ad7b8ae61ecf74e7f81104">BIG_1024_28_cswap</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a906cde91ce5641663dcf1e1914d45bdf">BIG_1024_28_cmove</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a600f84090df4a150aa47d45cd767617c">BIG_1024_28_dcmove</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a210b8ce96bb74cefeedfd51e2c72fbba">BIG_1024_28_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a1fcdbb02f4a74e2fd5a3e4a7b2df99c5">BIG_1024_28_fromBytes</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<span class="keywordtype">char</span> *a);</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a8eed0c87536a7eee8a505d78743bb0fa">BIG_1024_28_fromBytesLen</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<span class="keywordtype">char</span> *a,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a25fad48097ab1a81c2654cb2c363a8ea">BIG_1024_28_dfromBytesLen</a>(<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x,<span class="keywordtype">char</span> *a,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#ac56ff1f8b418819b091d51e44cc8decb">BIG_1024_28_doutput</a>(<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x);</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a2cb16afcdacd4d31ca6126333cbd8d4d">BIG_1024_28_drawoutput</a>(<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#ab587b7b3487be40d7f181e14a2c19111">BIG_1024_28_rcopy</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<span class="keyword">const</span> <a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y);</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a2f8bb5efa10f39a457a76d3621daade8">BIG_1024_28_copy</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a5111c6e4404bf58f040776042ece1108">BIG_1024_28_dcopy</a>(<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> y);</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#ab1ce66a9f6fa854db007fa2378aeb723">BIG_1024_28_dsucopy</a>(<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y);</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#ac01fc92d6ac6f4df3bdb821b69328e79">BIG_1024_28_dscopy</a>(<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y);</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a596c48625c51cc8ceb2a286a0908b727">BIG_1024_28_sdcopy</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> y);</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a9609a8759b62bd952da5edd4e2c2f2d8">BIG_1024_28_sducopy</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> y);</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a48be27e2baa6b6d226b049819e4279d5">BIG_1024_28_zero</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x);</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#adf9707f6f05fa6f11f652c66df3ec4aa">BIG_1024_28_dzero</a>(<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x);</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a6070c113d74ea38583c472dd659aa842">BIG_1024_28_one</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x);</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a5b78d54fd0539fc84bdfb007a0b967bf">BIG_1024_28_invmod2m</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x);</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a9c73a8b4ca792ebba655eb8b8de2670d">BIG_1024_28_add</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> z);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#adad5cb758e64bf8e2dd1bf72d43a77ef">BIG_1024_28_or</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> z);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a798b28f9b493c155ceed8179e7ffc3db">BIG_1024_28_inc</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#af62f511ff4949856be991fe7a1da4fe0">BIG_1024_28_sub</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> z);</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a68251081eb47c35887ff408402c205d3">BIG_1024_28_dec</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a3a1df8433d95c50fa37bf1ee3f7dc4c4">BIG_1024_28_dadd</a>(<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> y,<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> z);</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a7f11d7b27dc1dd657e6aac4305e81982">BIG_1024_28_dsub</a>(<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> y,<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> z);</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#aecefd0d641d7df1e3b7104dd6788a99d">BIG_1024_28_imul</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="keyword">extern</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__1024__28_8h.html#a8824a12970672cf823c5a16ea883a503">BIG_1024_28_pmul</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__28_8h.html#ab71e3c68ab0701c8deed44fcfc0320da">BIG_1024_28_div3</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a8f39a50f8bd6ef64bc6d276ca47a3801">BIG_1024_28_pxmul</a>(<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a41e3fa7841bc262223fc6fcdef6f40ba">BIG_1024_28_mul</a>(<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> z);</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a0b77c681bb054b89c8099dca4214fb9e">BIG_1024_28_smul</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> z);</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#ab95726053fff3459ee437993a8be57ed">BIG_1024_28_sqr</a>(<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y);</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#aac162cb8f56785b3dab55f23773dbf6c">BIG_1024_28_monty</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> a,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> d);</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#ab94e42adaa9edf6caa73217ea541a8d8">BIG_1024_28_shl</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__28_8h.html#a415004d01c4e2f89b128c01337ddc0da">BIG_1024_28_fshl</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#ac8a0e281a38a42294fa7d262b4bb88dc">BIG_1024_28_dshl</a>(<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#ae9504ee26e7dc63dd5ddf017b5fd20fb">BIG_1024_28_shr</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__28_8h.html#adf9fbb2177618cc5b47ee6445726128b">BIG_1024_28_ssn</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> r,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> a, <a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> m);</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__28_8h.html#a59b2d05311ee721798227fe033b3c758">BIG_1024_28_fshr</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a6ee4273810629405a0fabbcfbe97bea5">BIG_1024_28_dshr</a>(<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;<span class="keyword">extern</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__1024__28_8h.html#ad3f7062bf40d58cd91bb984f9374925f">BIG_1024_28_split</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y,<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> z,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;<span class="keyword">extern</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__1024__28_8h.html#a20a571a3b9d00d82e00674a4eb9080b5">BIG_1024_28_norm</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x);</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#af187316ae9c222a6f537ba02ba6d58a0">BIG_1024_28_dnorm</a>(<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x);</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__28_8h.html#a7c8aaa518123c302d7fb727c066de799">BIG_1024_28_comp</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y);</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__28_8h.html#a19e306f9d97cbbf8a215edb1fdbca3a6">BIG_1024_28_dcomp</a>(<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> y);</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__28_8h.html#a16c692d644de8d6e3f481ec50ed1b627">BIG_1024_28_nbits</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x);</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__28_8h.html#aa342006f3e76fe3efa25ec596bfcaa09">BIG_1024_28_dnbits</a>(<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x);</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a321e9b9249a04c642b2f807c0181df90">BIG_1024_28_mod</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> n);</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a5110b174571a2eeb198fce7834e49443">BIG_1024_28_sdiv</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> n);</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#abdc6db328aae7ea8780787e35a976c2d">BIG_1024_28_dmod</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> y,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> n);</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a559b6794c4285cf596285ae7030fa828">BIG_1024_28_ddiv</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> y,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> n);</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__28_8h.html#a80e1cc2bb904feea615dd9818f0ecb59">BIG_1024_28_parity</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x);</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__28_8h.html#a46f3c11d266f3caeaefef3f85f7e71d7">BIG_1024_28_bit</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__28_8h.html#a52e1428d99c2bb831b79ca7ef8c8e8e0">BIG_1024_28_lastbits</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a9ba4f0104e394a5d8e7455d1cac1c502">BIG_1024_28_random</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="structcsprng.html">csprng</a> *r);</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#af31fe3a4a7787c2ca597bc7c23293f37">BIG_1024_28_randomnum</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> n,<a class="code" href="structcsprng.html">csprng</a> *r);</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#acc2f1661baf86b9975011a6dc857ad6b">BIG_1024_28_modmul</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> z,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> n);</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#aa8b4cf5c4f52074a6eb3ece6f6d4a83c">BIG_1024_28_moddiv</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> z,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> n);</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a8e82166152f3b17468117c89a28c5445">BIG_1024_28_modsqr</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> n);</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a6bda312c89508e974166321f8980d201">BIG_1024_28_modneg</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> n);</div><div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__28_8h.html#aa965afaeb22bdfddf122274e78e98585">BIG_1024_28_jacobi</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y);</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a8061d3296101802f5a43ee31df48104c">BIG_1024_28_invmodp</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> y,<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> n);</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#afcbdc858bc02d509b14c5a487f964014">BIG_1024_28_mod2m</a>(<a class="code" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a> x,<span class="keywordtype">int</span> m);</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__28_8h.html#a0af8fe60752ace226e1980f42ee1323c">BIG_1024_28_dmod2m</a>(<a class="code" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a> x,<span class="keywordtype">int</span> m);</div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;</div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;<span class="preprocessor">#ifdef dchunk</span></div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;<span class="comment">/* Method required to calculate x*y+c+r, bottom half in r, top half returned */</span></div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> muladd_1024_28(<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> x,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> y,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> c,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> *r)</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;{</div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;    dchunk prod=(dchunk)x*y+c+*r;</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;    *r=(<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)prod&amp;<a class="code" href="big__1024__28_8h.html#a201c6297075d183fc4f9ec6407a7234c">BMASK_1024_28</a>;</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;    <span class="keywordflow">return</span> (<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)(prod&gt;&gt;<a class="code" href="config__big__1024__28_8h.html#a5eaa43c96333aeb94a5ce4ab00c5b823">BASEBITS_1024_28</a>);</div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;}</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;<span class="comment">/* No integer type available that can store double the wordlength */</span></div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;<span class="comment">/* accumulate partial products */</span></div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;</div><div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> muladd_1024_28(<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> x,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> y,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> c,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> *r)</div><div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;{</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;    <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> x0,x1,y0,y1;</div><div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;    <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> bot,top,mid,carry;</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;    x0=x&amp;<a class="code" href="big__1024__28_8h.html#a7b9b9c4d137721a8bd5a9762235dbf56">HMASK_1024_28</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__1024__28_8h.html#a47199d90c03e396ce0dd54b3750ba488">HBITS_1024_28</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__1024__28_8h.html#a7b9b9c4d137721a8bd5a9762235dbf56">HMASK_1024_28</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__1024__28_8h.html#a47199d90c03e396ce0dd54b3750ba488">HBITS_1024_28</a>);</div><div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;    bot=x0*y0;</div><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;    top=x1*y1;</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;    mid=x0*y1+x1*y0;</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;    x0=mid&amp;<a class="code" href="big__1024__28_8h.html#a7b9b9c4d137721a8bd5a9762235dbf56">HMASK_1024_28</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__1024__28_8h.html#a47199d90c03e396ce0dd54b3750ba488">HBITS_1024_28</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__1024__28_8h.html#a47199d90c03e396ce0dd54b3750ba488">HBITS_1024_28</a>;</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;    bot+=*r;</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;    bot+=c;</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;    top+=x1;</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;    carry=bot&gt;&gt;<a class="code" href="config__big__1024__28_8h.html#a5eaa43c96333aeb94a5ce4ab00c5b823">BASEBITS_1024_28</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__1024__28_8h.html#a201c6297075d183fc4f9ec6407a7234c">BMASK_1024_28</a>;</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;    top+=carry;</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;</div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;    *r=bot;</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;    <span class="keywordflow">return</span> top;</div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;}</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;</div><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;</div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="big__1024__28_8h_html_a46f3c11d266f3caeaefef3f85f7e71d7"><div class="ttname"><a href="big__1024__28_8h.html#a46f3c11d266f3caeaefef3f85f7e71d7">BIG_1024_28_bit</a></div><div class="ttdeci">int BIG_1024_28_bit(BIG_1024_28 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1232</div></div>
-<div class="ttc" id="big__1024__28_8h_html_adad5cb758e64bf8e2dd1bf72d43a77ef"><div class="ttname"><a href="big__1024__28_8h.html#adad5cb758e64bf8e2dd1bf72d43a77ef">BIG_1024_28_or</a></div><div class="ttdeci">void BIG_1024_28_or(BIG_1024_28 x, BIG_1024_28 y, BIG_1024_28 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:371</div></div>
-<div class="ttc" id="big__1024__28_8h_html_aa8b4cf5c4f52074a6eb3ece6f6d4a83c"><div class="ttname"><a href="big__1024__28_8h.html#aa8b4cf5c4f52074a6eb3ece6f6d4a83c">BIG_1024_28_moddiv</a></div><div class="ttdeci">void BIG_1024_28_moddiv(BIG_1024_28 x, BIG_1024_28 y, BIG_1024_28 z, BIG_1024_28 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1337</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a6bda312c89508e974166321f8980d201"><div class="ttname"><a href="big__1024__28_8h.html#a6bda312c89508e974166321f8980d201">BIG_1024_28_modneg</a></div><div class="ttdeci">void BIG_1024_28_modneg(BIG_1024_28 x, BIG_1024_28 y, BIG_1024_28 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1327</div></div>
-<div class="ttc" id="big__1024__28_8h_html_acc2f1661baf86b9975011a6dc857ad6b"><div class="ttname"><a href="big__1024__28_8h.html#acc2f1661baf86b9975011a6dc857ad6b">BIG_1024_28_modmul</a></div><div class="ttdeci">void BIG_1024_28_modmul(BIG_1024_28 x, BIG_1024_28 y, BIG_1024_28 z, BIG_1024_28 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1300</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a8eed0c87536a7eee8a505d78743bb0fa"><div class="ttname"><a href="big__1024__28_8h.html#a8eed0c87536a7eee8a505d78743bb0fa">BIG_1024_28_fromBytesLen</a></div><div class="ttdeci">void BIG_1024_28_fromBytesLen(BIG_1024_28 x, char *a, int s)</div><div class="ttdoc">Convert to BIG number from byte array of given length.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:170</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a74b190b116ad7b8ae61ecf74e7f81104"><div class="ttname"><a href="big__1024__28_8h.html#a74b190b116ad7b8ae61ecf74e7f81104">BIG_1024_28_cswap</a></div><div class="ttdeci">void BIG_1024_28_cswap(BIG_1024_28 x, BIG_1024_28 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:92</div></div>
-<div class="ttc" id="big__1024__28_8h_html_ad3f7062bf40d58cd91bb984f9374925f"><div class="ttname"><a href="big__1024__28_8h.html#ad3f7062bf40d58cd91bb984f9374925f">BIG_1024_28_split</a></div><div class="ttdeci">chunk BIG_1024_28_split(BIG_1024_28 x, BIG_1024_28 y, DBIG_1024_28 z, int s)</div><div class="ttdoc">Splits a DBIG into two BIGs - input must be normalised, outputs normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:932</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a798b28f9b493c155ceed8179e7ffc3db"><div class="ttname"><a href="big__1024__28_8h.html#a798b28f9b493c155ceed8179e7ffc3db">BIG_1024_28_inc</a></div><div class="ttdeci">void BIG_1024_28_inc(BIG_1024_28 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:386</div></div>
-<div class="ttc" id="big__1024__28_8h_html_adf9707f6f05fa6f11f652c66df3ec4aa"><div class="ttname"><a href="big__1024__28_8h.html#adf9707f6f05fa6f11f652c66df3ec4aa">BIG_1024_28_dzero</a></div><div class="ttdeci">void BIG_1024_28_dzero(DBIG_1024_28 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:329</div></div>
-<div class="ttc" id="big__1024__28_8h_html_ae9504ee26e7dc63dd5ddf017b5fd20fb"><div class="ttname"><a href="big__1024__28_8h.html#ae9504ee26e7dc63dd5ddf017b5fd20fb">BIG_1024_28_shr</a></div><div class="ttdeci">void BIG_1024_28_shr(BIG_1024_28 x, int s)</div><div class="ttdoc">Shifts a BIG right by any number of bits - input must be normalised, output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:864</div></div>
-<div class="ttc" id="big__1024__28_8h_html_aac162cb8f56785b3dab55f23773dbf6c"><div class="ttname"><a href="big__1024__28_8h.html#aac162cb8f56785b3dab55f23773dbf6c">BIG_1024_28_monty</a></div><div class="ttdeci">void BIG_1024_28_monty(BIG_1024_28 a, BIG_1024_28 md, chunk MC, DBIG_1024_28 d)</div><div class="ttdoc">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:735</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a5b78d54fd0539fc84bdfb007a0b967bf"><div class="ttname"><a href="big__1024__28_8h.html#a5b78d54fd0539fc84bdfb007a0b967bf">BIG_1024_28_invmod2m</a></div><div class="ttdeci">void BIG_1024_28_invmod2m(BIG_1024_28 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
-<div class="ttc" id="big__1024__28_8h_html_af31fe3a4a7787c2ca597bc7c23293f37"><div class="ttname"><a href="big__1024__28_8h.html#af31fe3a4a7787c2ca597bc7c23293f37">BIG_1024_28_randomnum</a></div><div class="ttdeci">void BIG_1024_28_randomnum(BIG_1024_28 x, BIG_1024_28 n, csprng *r)</div><div class="ttdoc">Create an unbiased random BIG from a random number generator, reduced with respect to a modulus.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1274</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a80e1cc2bb904feea615dd9818f0ecb59"><div class="ttname"><a href="big__1024__28_8h.html#a80e1cc2bb904feea615dd9818f0ecb59">BIG_1024_28_parity</a></div><div class="ttdeci">int BIG_1024_28_parity(BIG_1024_28 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1225</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a41e3fa7841bc262223fc6fcdef6f40ba"><div class="ttname"><a href="big__1024__28_8h.html#a41e3fa7841bc262223fc6fcdef6f40ba">BIG_1024_28_mul</a></div><div class="ttdeci">void BIG_1024_28_mul(DBIG_1024_28 x, BIG_1024_28 y, BIG_1024_28 z)</div><div class="ttdoc">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:542</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a9ba4f0104e394a5d8e7455d1cac1c502"><div class="ttname"><a href="big__1024__28_8h.html#a9ba4f0104e394a5d8e7455d1cac1c502">BIG_1024_28_random</a></div><div class="ttdeci">void BIG_1024_28_random(BIG_1024_28 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1248</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a25fad48097ab1a81c2654cb2c363a8ea"><div class="ttname"><a href="big__1024__28_8h.html#a25fad48097ab1a81c2654cb2c363a8ea">BIG_1024_28_dfromBytesLen</a></div><div class="ttdeci">void BIG_1024_28_dfromBytesLen(DBIG_1024_28 x, char *a, int s)</div><div class="ttdoc">Convert to DBIG number from byte array of given length.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1485</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a48be27e2baa6b6d226b049819e4279d5"><div class="ttname"><a href="big__1024__28_8h.html#a48be27e2baa6b6d226b049819e4279d5">BIG_1024_28_zero</a></div><div class="ttdeci">void BIG_1024_28_zero(BIG_1024_28 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:319</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a2cb16afcdacd4d31ca6126333cbd8d4d"><div class="ttname"><a href="big__1024__28_8h.html#a2cb16afcdacd4d31ca6126333cbd8d4d">BIG_1024_28_drawoutput</a></div><div class="ttdeci">void BIG_1024_28_drawoutput(DBIG_1024_28 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:212</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a600f84090df4a150aa47d45cd767617c"><div class="ttname"><a href="big__1024__28_8h.html#a600f84090df4a150aa47d45cd767617c">BIG_1024_28_dcmove</a></div><div class="ttdeci">void BIG_1024_28_dcmove(BIG_1024_28 x, BIG_1024_28 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__1024__28_8h_html_abdc6db328aae7ea8780787e35a976c2d"><div class="ttname"><a href="big__1024__28_8h.html#abdc6db328aae7ea8780787e35a976c2d">BIG_1024_28_dmod</a></div><div class="ttdeci">void BIG_1024_28_dmod(BIG_1024_28 x, DBIG_1024_28 y, BIG_1024_28 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1113</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a16c692d644de8d6e3f481ec50ed1b627"><div class="ttname"><a href="big__1024__28_8h.html#a16c692d644de8d6e3f481ec50ed1b627">BIG_1024_28_nbits</a></div><div class="ttdeci">int BIG_1024_28_nbits(BIG_1024_28 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1040</div></div>
-<div class="ttc" id="big__1024__28_8h_html_adf9fbb2177618cc5b47ee6445726128b"><div class="ttname"><a href="big__1024__28_8h.html#adf9fbb2177618cc5b47ee6445726128b">BIG_1024_28_ssn</a></div><div class="ttdeci">int BIG_1024_28_ssn(BIG_1024_28 r, BIG_1024_28 a, BIG_1024_28 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:877</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a5111c6e4404bf58f040776042ece1108"><div class="ttname"><a href="big__1024__28_8h.html#a5111c6e4404bf58f040776042ece1108">BIG_1024_28_dcopy</a></div><div class="ttdeci">void BIG_1024_28_dcopy(DBIG_1024_28 x, DBIG_1024_28 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:251</div></div>
-<div class="ttc" id="big__1024__28_8h_html_af62f511ff4949856be991fe7a1da4fe0"><div class="ttname"><a href="big__1024__28_8h.html#af62f511ff4949856be991fe7a1da4fe0">BIG_1024_28_sub</a></div><div class="ttdeci">void BIG_1024_28_sub(BIG_1024_28 x, BIG_1024_28 y, BIG_1024_28 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:397</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a053a019376c8068134541df485a77fbc"><div class="ttname"><a href="big__1024__28_8h.html#a053a019376c8068134541df485a77fbc">BIG_1024_28_rawoutput</a></div><div class="ttdeci">void BIG_1024_28_rawoutput(BIG_1024_28 x)</div><div class="ttdoc">Outputs a BIG number to the console in raw form (for debugging)</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:77</div></div>
-<div class="ttc" id="big__1024__28_8h_html_ac56ff1f8b418819b091d51e44cc8decb"><div class="ttname"><a href="big__1024__28_8h.html#ac56ff1f8b418819b091d51e44cc8decb">BIG_1024_28_doutput</a></div><div class="ttdeci">void BIG_1024_28_doutput(DBIG_1024_28 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:190</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a4c24835682c9662e0d3850e8d0af3592"><div class="ttname"><a href="big__1024__28_8h.html#a4c24835682c9662e0d3850e8d0af3592">BIG_1024_28_iszilch</a></div><div class="ttdeci">int BIG_1024_28_iszilch(BIG_1024_28 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:26</div></div>
-<div class="ttc" id="big__1024__28_8h_html_afd3bcd46deffcd767611c36b0a05ba43"><div class="ttname"><a href="big__1024__28_8h.html#afd3bcd46deffcd767611c36b0a05ba43">BIG_1024_28_isunity</a></div><div class="ttdeci">int BIG_1024_28_isunity(BIG_1024_28 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:35</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a20a571a3b9d00d82e00674a4eb9080b5"><div class="ttname"><a href="big__1024__28_8h.html#a20a571a3b9d00d82e00674a4eb9080b5">BIG_1024_28_norm</a></div><div class="ttdeci">chunk BIG_1024_28_norm(BIG_1024_28 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:976</div></div>
-<div class="ttc" id="big__1024__28_8h_html_af8b455367bcf8cda171906b600389f81"><div class="ttname"><a href="big__1024__28_8h.html#af8b455367bcf8cda171906b600389f81">DNLEN_1024_28</a></div><div class="ttdeci">#define DNLEN_1024_28</div><div class="ttdef"><b>Definition:</b> big_1024_28.h:41</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a201c6297075d183fc4f9ec6407a7234c"><div class="ttname"><a href="big__1024__28_8h.html#a201c6297075d183fc4f9ec6407a7234c">BMASK_1024_28</a></div><div class="ttdeci">#define BMASK_1024_28</div><div class="ttdef"><b>Definition:</b> big_1024_28.h:42</div></div>
-<div class="ttc" id="big__1024__28_8h_html_ab71e3c68ab0701c8deed44fcfc0320da"><div class="ttname"><a href="big__1024__28_8h.html#ab71e3c68ab0701c8deed44fcfc0320da">BIG_1024_28_div3</a></div><div class="ttdeci">int BIG_1024_28_div3(BIG_1024_28 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:484</div></div>
-<div class="ttc" id="big__1024__28_8h_html_ac8a0e281a38a42294fa7d262b4bb88dc"><div class="ttname"><a href="big__1024__28_8h.html#ac8a0e281a38a42294fa7d262b4bb88dc">BIG_1024_28_dshl</a></div><div class="ttdeci">void BIG_1024_28_dshl(DBIG_1024_28 x, int s)</div><div class="ttdoc">Shifts a DBIG left by any number of bits - input must be normalised, output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:846</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a6ee4273810629405a0fabbcfbe97bea5"><div class="ttname"><a href="big__1024__28_8h.html#a6ee4273810629405a0fabbcfbe97bea5">BIG_1024_28_dshr</a></div><div class="ttdeci">void BIG_1024_28_dshr(DBIG_1024_28 x, int s)</div><div class="ttdoc">Shifts a DBIG right by any number of bits - input must be normalised, output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:918</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a2f8bb5efa10f39a457a76d3621daade8"><div class="ttname"><a href="big__1024__28_8h.html#a2f8bb5efa10f39a457a76d3621daade8">BIG_1024_28_copy</a></div><div class="ttdeci">void BIG_1024_28_copy(BIG_1024_28 x, BIG_1024_28 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:227</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a559b6794c4285cf596285ae7030fa828"><div class="ttname"><a href="big__1024__28_8h.html#a559b6794c4285cf596285ae7030fa828">BIG_1024_28_ddiv</a></div><div class="ttdeci">void BIG_1024_28_ddiv(BIG_1024_28 x, DBIG_1024_28 y, BIG_1024_28 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1149</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a5110b174571a2eeb198fce7834e49443"><div class="ttname"><a href="big__1024__28_8h.html#a5110b174571a2eeb198fce7834e49443">BIG_1024_28_sdiv</a></div><div class="ttdeci">void BIG_1024_28_sdiv(BIG_1024_28 x, BIG_1024_28 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1188</div></div>
-<div class="ttc" id="big__1024__28_8h_html_afcbdc858bc02d509b14c5a487f964014"><div class="ttname"><a href="big__1024__28_8h.html#afcbdc858bc02d509b14c5a487f964014">BIG_1024_28_mod2m</a></div><div class="ttdeci">void BIG_1024_28_mod2m(BIG_1024_28 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1456</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a8be43fff007f3d452f7b71ee8c9ad8bc"><div class="ttname"><a href="big__1024__28_8h.html#a8be43fff007f3d452f7b71ee8c9ad8bc">BIG_1024_28_output</a></div><div class="ttdeci">void BIG_1024_28_output(BIG_1024_28 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:55</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a0b77c681bb054b89c8099dca4214fb9e"><div class="ttname"><a href="big__1024__28_8h.html#a0b77c681bb054b89c8099dca4214fb9e">BIG_1024_28_smul</a></div><div class="ttdeci">void BIG_1024_28_smul(BIG_1024_28 x, BIG_1024_28 y, BIG_1024_28 z)</div><div class="ttdoc">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:518</div></div>
-<div class="ttc" id="big__1024__28_8h_html_ab95726053fff3459ee437993a8be57ed"><div class="ttname"><a href="big__1024__28_8h.html#ab95726053fff3459ee437993a8be57ed">BIG_1024_28_sqr</a></div><div class="ttdeci">void BIG_1024_28_sqr(DBIG_1024_28 x, BIG_1024_28 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:618</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a68251081eb47c35887ff408402c205d3"><div class="ttname"><a href="big__1024__28_8h.html#a68251081eb47c35887ff408402c205d3">BIG_1024_28_dec</a></div><div class="ttdeci">void BIG_1024_28_dec(BIG_1024_28 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:440</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a9609a8759b62bd952da5edd4e2c2f2d8"><div class="ttname"><a href="big__1024__28_8h.html#a9609a8759b62bd952da5edd4e2c2f2d8">BIG_1024_28_sducopy</a></div><div class="ttdeci">void BIG_1024_28_sducopy(BIG_1024_28 x, DBIG_1024_28 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:306</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a1fcdbb02f4a74e2fd5a3e4a7b2df99c5"><div class="ttname"><a href="big__1024__28_8h.html#a1fcdbb02f4a74e2fd5a3e4a7b2df99c5">BIG_1024_28_fromBytes</a></div><div class="ttdeci">void BIG_1024_28_fromBytes(BIG_1024_28 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:155</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a8f39a50f8bd6ef64bc6d276ca47a3801"><div class="ttname"><a href="big__1024__28_8h.html#a8f39a50f8bd6ef64bc6d276ca47a3801">BIG_1024_28_pxmul</a></div><div class="ttdeci">void BIG_1024_28_pxmul(DBIG_1024_28 x, BIG_1024_28 y, int i)</div><div class="ttdoc">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:501</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a7b9b9c4d137721a8bd5a9762235dbf56"><div class="ttname"><a href="big__1024__28_8h.html#a7b9b9c4d137721a8bd5a9762235dbf56">HMASK_1024_28</a></div><div class="ttdeci">#define HMASK_1024_28</div><div class="ttdef"><b>Definition:</b> big_1024_28.h:46</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a8061d3296101802f5a43ee31df48104c"><div class="ttname"><a href="big__1024__28_8h.html#a8061d3296101802f5a43ee31df48104c">BIG_1024_28_invmodp</a></div><div class="ttdeci">void BIG_1024_28_invmodp(BIG_1024_28 x, BIG_1024_28 y, BIG_1024_28 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1392</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a7c8aaa518123c302d7fb727c066de799"><div class="ttname"><a href="big__1024__28_8h.html#a7c8aaa518123c302d7fb727c066de799">BIG_1024_28_comp</a></div><div class="ttdeci">int BIG_1024_28_comp(BIG_1024_28 x, BIG_1024_28 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1014</div></div>
-<div class="ttc" id="big__1024__28_8h_html_ab587b7b3487be40d7f181e14a2c19111"><div class="ttname"><a href="big__1024__28_8h.html#ab587b7b3487be40d7f181e14a2c19111">BIG_1024_28_rcopy</a></div><div class="ttdeci">void BIG_1024_28_rcopy(BIG_1024_28 x, const BIG_1024_28 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:239</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a415004d01c4e2f89b128c01337ddc0da"><div class="ttname"><a href="big__1024__28_8h.html#a415004d01c4e2f89b128c01337ddc0da">BIG_1024_28_fshl</a></div><div class="ttdeci">int BIG_1024_28_fshl(BIG_1024_28 x, int s)</div><div class="ttdoc">Fast shifts a BIG left by a small number of bits - input must be normalised, output will be normalise...</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:832</div></div>
-<div class="ttc" id="big__1024__28_8h_html_ab94e42adaa9edf6caa73217ea541a8d8"><div class="ttname"><a href="big__1024__28_8h.html#ab94e42adaa9edf6caa73217ea541a8d8">BIG_1024_28_shl</a></div><div class="ttdeci">void BIG_1024_28_shl(BIG_1024_28 x, int s)</div><div class="ttdoc">Shifts a BIG left by any number of bits - input must be normalised, output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:813</div></div>
-<div class="ttc" id="big__1024__28_8h_html_aa965afaeb22bdfddf122274e78e98585"><div class="ttname"><a href="big__1024__28_8h.html#aa965afaeb22bdfddf122274e78e98585">BIG_1024_28_jacobi</a></div><div class="ttdeci">int BIG_1024_28_jacobi(BIG_1024_28 x, BIG_1024_28 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1354</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a8e82166152f3b17468117c89a28c5445"><div class="ttname"><a href="big__1024__28_8h.html#a8e82166152f3b17468117c89a28c5445">BIG_1024_28_modsqr</a></div><div class="ttdeci">void BIG_1024_28_modsqr(BIG_1024_28 x, BIG_1024_28 y, BIG_1024_28 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1315</div></div>
-<div class="ttc" id="big__1024__28_8h_html_aecefd0d641d7df1e3b7104dd6788a99d"><div class="ttname"><a href="big__1024__28_8h.html#aecefd0d641d7df1e3b7104dd6788a99d">BIG_1024_28_imul</a></div><div class="ttdeci">void BIG_1024_28_imul(BIG_1024_28 x, BIG_1024_28 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:450</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a3a1df8433d95c50fa37bf1ee3f7dc4c4"><div class="ttname"><a href="big__1024__28_8h.html#a3a1df8433d95c50fa37bf1ee3f7dc4c4">BIG_1024_28_dadd</a></div><div class="ttdeci">void BIG_1024_28_dadd(DBIG_1024_28 x, DBIG_1024_28 y, DBIG_1024_28 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:426</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a77f957795c4ef4ee62e89dd7cb45dd62"><div class="ttname"><a href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">BIG_1024_28</a></div><div class="ttdeci">chunk BIG_1024_28[NLEN_1024_28]</div><div class="ttdef"><b>Definition:</b> big_1024_28.h:58</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a5eb955f7af3647f964de7cddf9cd5647"><div class="ttname"><a href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">DBIG_1024_28</a></div><div class="ttdeci">chunk DBIG_1024_28[DNLEN_1024_28]</div><div class="ttdef"><b>Definition:</b> big_1024_28.h:59</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a8824a12970672cf823c5a16ea883a503"><div class="ttname"><a href="big__1024__28_8h.html#a8824a12970672cf823c5a16ea883a503">BIG_1024_28_pmul</a></div><div class="ttdeci">chunk BIG_1024_28_pmul(BIG_1024_28 x, BIG_1024_28 y, int i)</div><div class="ttdoc">Multiply BIG by not-so-small small integer - output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:465</div></div>
-<div class="ttc" id="big__1024__28_8h_html_af187316ae9c222a6f537ba02ba6d58a0"><div class="ttname"><a href="big__1024__28_8h.html#af187316ae9c222a6f537ba02ba6d58a0">BIG_1024_28_dnorm</a></div><div class="ttdeci">void BIG_1024_28_dnorm(DBIG_1024_28 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:995</div></div>
-<div class="ttc" id="big__1024__28_8h_html_ab1ce66a9f6fa854db007fa2378aeb723"><div class="ttname"><a href="big__1024__28_8h.html#ab1ce66a9f6fa854db007fa2378aeb723">BIG_1024_28_dsucopy</a></div><div class="ttdeci">void BIG_1024_28_dsucopy(DBIG_1024_28 x, BIG_1024_28 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:280</div></div>
-<div class="ttc" id="big__1024__28_8h_html_ac01fc92d6ac6f4df3bdb821b69328e79"><div class="ttname"><a href="big__1024__28_8h.html#ac01fc92d6ac6f4df3bdb821b69328e79">BIG_1024_28_dscopy</a></div><div class="ttdeci">void BIG_1024_28_dscopy(DBIG_1024_28 x, BIG_1024_28 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:263</div></div>
-<div class="ttc" id="config__big__1024__28_8h_html"><div class="ttname"><a href="config__big__1024__28_8h.html">config_big_1024_28.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a47199d90c03e396ce0dd54b3750ba488"><div class="ttname"><a href="big__1024__28_8h.html#a47199d90c03e396ce0dd54b3750ba488">HBITS_1024_28</a></div><div class="ttdeci">#define HBITS_1024_28</div><div class="ttdef"><b>Definition:</b> big_1024_28.h:45</div></div>
-<div class="ttc" id="arch_8h_html"><div class="ttname"><a href="arch_8h.html">arch.h</a></div><div class="ttdoc">Architecture Header File.</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a596c48625c51cc8ceb2a286a0908b727"><div class="ttname"><a href="big__1024__28_8h.html#a596c48625c51cc8ceb2a286a0908b727">BIG_1024_28_sdcopy</a></div><div class="ttdeci">void BIG_1024_28_sdcopy(BIG_1024_28 x, DBIG_1024_28 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:294</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a6070c113d74ea38583c472dd659aa842"><div class="ttname"><a href="big__1024__28_8h.html#a6070c113d74ea38583c472dd659aa842">BIG_1024_28_one</a></div><div class="ttdeci">void BIG_1024_28_one(BIG_1024_28 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:340</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a906cde91ce5641663dcf1e1914d45bdf"><div class="ttname"><a href="big__1024__28_8h.html#a906cde91ce5641663dcf1e1914d45bdf">BIG_1024_28_cmove</a></div><div class="ttdeci">void BIG_1024_28_cmove(BIG_1024_28 x, BIG_1024_28 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:110</div></div>
-<div class="ttc" id="structcsprng_html"><div class="ttname"><a href="structcsprng.html">csprng</a></div><div class="ttdoc">Cryptographically secure pseudo-random number generator instance.</div><div class="ttdef"><b>Definition:</b> amcl.h:195</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a59b2d05311ee721798227fe033b3c758"><div class="ttname"><a href="big__1024__28_8h.html#a59b2d05311ee721798227fe033b3c758">BIG_1024_28_fshr</a></div><div class="ttdeci">int BIG_1024_28_fshr(BIG_1024_28 x, int s)</div><div class="ttdoc">Fast shifts a BIG right by a small number of bits - input must be normalised, output will be normalis...</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:906</div></div>
-<div class="ttc" id="arch_8h_html_a0dd4b8ab353c587b22c6acb0809323aa"><div class="ttname"><a href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a></div><div class="ttdeci">#define chunk</div><div class="ttdef"><b>Definition:</b> arch.h:109</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a52e1428d99c2bb831b79ca7ef8c8e8e0"><div class="ttname"><a href="big__1024__28_8h.html#a52e1428d99c2bb831b79ca7ef8c8e8e0">BIG_1024_28_lastbits</a></div><div class="ttdeci">int BIG_1024_28_lastbits(BIG_1024_28 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1240</div></div>
-<div class="ttc" id="config__big__1024__28_8h_html_a5eaa43c96333aeb94a5ce4ab00c5b823"><div class="ttname"><a href="config__big__1024__28_8h.html#a5eaa43c96333aeb94a5ce4ab00c5b823">BASEBITS_1024_28</a></div><div class="ttdeci">#define BASEBITS_1024_28</div><div class="ttdef"><b>Definition:</b> config_big_1024_28.h:35</div></div>
-<div class="ttc" id="big__1024__28_8h_html_ae7aa0c3c199de111505a1f2fa620fb68"><div class="ttname"><a href="big__1024__28_8h.html#ae7aa0c3c199de111505a1f2fa620fb68">BIG_1024_28_diszilch</a></div><div class="ttdeci">int BIG_1024_28_diszilch(DBIG_1024_28 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:45</div></div>
-<div class="ttc" id="big__1024__28_8h_html_aa342006f3e76fe3efa25ec596bfcaa09"><div class="ttname"><a href="big__1024__28_8h.html#aa342006f3e76fe3efa25ec596bfcaa09">BIG_1024_28_dnbits</a></div><div class="ttdeci">int BIG_1024_28_dnbits(DBIG_1024_28 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1060</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a321e9b9249a04c642b2f807c0181df90"><div class="ttname"><a href="big__1024__28_8h.html#a321e9b9249a04c642b2f807c0181df90">BIG_1024_28_mod</a></div><div class="ttdeci">void BIG_1024_28_mod(BIG_1024_28 x, BIG_1024_28 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1082</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a7f11d7b27dc1dd657e6aac4305e81982"><div class="ttname"><a href="big__1024__28_8h.html#a7f11d7b27dc1dd657e6aac4305e81982">BIG_1024_28_dsub</a></div><div class="ttdeci">void BIG_1024_28_dsub(DBIG_1024_28 x, DBIG_1024_28 y, DBIG_1024_28 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:413</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a210b8ce96bb74cefeedfd51e2c72fbba"><div class="ttname"><a href="big__1024__28_8h.html#a210b8ce96bb74cefeedfd51e2c72fbba">BIG_1024_28_toBytes</a></div><div class="ttdeci">void BIG_1024_28_toBytes(char *a, BIG_1024_28 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:141</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a19e306f9d97cbbf8a215edb1fdbca3a6"><div class="ttname"><a href="big__1024__28_8h.html#a19e306f9d97cbbf8a215edb1fdbca3a6">BIG_1024_28_dcomp</a></div><div class="ttdeci">int BIG_1024_28_dcomp(DBIG_1024_28 x, DBIG_1024_28 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1026</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a0af8fe60752ace226e1980f42ee1323c"><div class="ttname"><a href="big__1024__28_8h.html#a0af8fe60752ace226e1980f42ee1323c">BIG_1024_28_dmod2m</a></div><div class="ttdeci">void BIG_1024_28_dmod2m(DBIG_1024_28 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:1470</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a9c73a8b4ca792ebba655eb8b8de2670d"><div class="ttname"><a href="big__1024__28_8h.html#a9c73a8b4ca792ebba655eb8b8de2670d">BIG_1024_28_add</a></div><div class="ttdeci">void BIG_1024_28_add(BIG_1024_28 x, BIG_1024_28 y, BIG_1024_28 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_28.c:356</div></div>
-<div class="ttc" id="big__1024__28_8h_html_a20e1a7a0c0b849acb553c1c1a333d54f"><div class="ttname"><a href="big__1024__28_8h.html#a20e1a7a0c0b849acb553c1c1a333d54f">NLEN_1024_28</a></div><div class="ttdeci">#define NLEN_1024_28</div><div class="ttdef"><b>Definition:</b> big_1024_28.h:40</div></div>
-</div><!-- fragment --></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>
diff --git a/website/static/cdocs/big__1024__58_8h.html b/website/static/cdocs/big__1024__58_8h.html
index 862c0d0..e94704c 100644
--- a/website/static/cdocs/big__1024__58_8h.html
+++ b/website/static/cdocs/big__1024__58_8h.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>AMCL: big_1024_58.h File Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -12,6 +12,12 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/x-mathjax-config">
+  MathJax.Hub.Config({
+    extensions: ["tex2jax.js"],
+    jax: ["input/TeX","output/HTML-CSS"],
+});
+</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
@@ -29,21 +35,18 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.15 -->
+<!-- Generated by Doxygen 1.8.13 -->
 <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>
+</script>
 <div id="main-nav"></div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -1089,10 +1092,14 @@
         </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> 
+<p>Truncation </p><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>DBIG number, on reduced mod 2^m </td></tr>
+    <tr><td class="paramname">m</td><td>new truncated size </td></tr>
+  </table>
+  </dd>
+</dl>
+
 </div>
 </div>
 <a id="a7b0abd4056a185f6f702d0aca0cab277"></a>
@@ -1872,10 +1879,14 @@
         </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> 
+<p>Truncation </p><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>BIG number, on reduced mod 2^m </td></tr>
+    <tr><td class="paramname">m</td><td>new truncated size </td></tr>
+  </table>
+  </dd>
+</dl>
+
 </div>
 </div>
 <a id="a7b984d08e0649c45f4bb43af4b249e68"></a>
@@ -2988,7 +2999,7 @@
 <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
+</a> 1.8.13
 </small></address>
 </body>
 </html>
diff --git a/website/static/cdocs/big__1024__58_8h_source.html b/website/static/cdocs/big__1024__58_8h_source.html
index 92d5e48..6ab3650 100644
--- a/website/static/cdocs/big__1024__58_8h_source.html
+++ b/website/static/cdocs/big__1024__58_8h_source.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>AMCL: big_1024_58.h Source File</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -12,6 +12,12 @@
 <link href="search/search.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="search/searchdata.js"></script>
 <script type="text/javascript" src="search/search.js"></script>
+<script type="text/x-mathjax-config">
+  MathJax.Hub.Config({
+    extensions: ["tex2jax.js"],
+    jax: ["input/TeX","output/HTML-CSS"],
+});
+</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
 <link href="doxygen.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
@@ -29,21 +35,18 @@
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.8.15 -->
+<!-- Generated by Doxygen 1.8.13 -->
 <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>
+</script>
 <div id="main-nav"></div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -69,95 +72,95 @@
 <div class="title">big_1024_58.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="big__1024__58_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">        Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">        or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">        distributed with this work for additional information</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">        regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">        to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">        &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">        with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">        http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">        Unless required by applicable law or agreed to in writing,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">        software distributed under the License is distributed on an</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">        &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">        KIND, either express or implied.  See the License for the</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">        specific language governing permissions and limitations</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">        under the License.</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#ifndef BIG_1024_58_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_1024_58_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;inttypes.h&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="arch_8h.html">arch.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;amcl.h&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__1024__58_8h.html">config_big_1024_58.h</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">//#define UNWOUND</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="big__1024__58_8h.html#a65bdfd2b6b38168e8bcd9f1af013c7b5">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_1024_58 (8*MODBYTES_1024_58) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__1024__58_8h.html#a0a8882f5fa3bf70c96145d7a5a162e37">   40</a></span>&#160;<span class="preprocessor">#define NLEN_1024_58 (1+((8*MODBYTES_1024_58-1)/BASEBITS_1024_58)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__1024__58_8h.html#a16af5855a6f4a0a4f315fcc98c9926ba">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_1024_58 2*NLEN_1024_58 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__1024__58_8h.html#acc7cf521c2232960e736d7bc149ae147">   42</a></span>&#160;<span class="preprocessor">#define BMASK_1024_58 (((chunk)1&lt;&lt;BASEBITS_1024_58)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__1024__58_8h.html#a6d05e6d3b558714d70318f38f704ce6d">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_1024_58 (1&lt;&lt;(CHUNK-BASEBITS_1024_58-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__1024__58_8h.html#ac9e2b95f4b4d79160bfbbf22715a9a3d">   45</a></span>&#160;<span class="preprocessor">#define HBITS_1024_58 (BASEBITS_1024_58/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__1024__58_8h.html#ad427d858bae25e21c839cfb4a68ab0f4">   46</a></span>&#160;<span class="preprocessor">#define HMASK_1024_58 (((chunk)1&lt;&lt;HBITS_1024_58)-1)    </span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">//#define DEBUG_NORM</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#ifdef DEBUG_NORM  </span><span class="comment">/* Add an extra location to track chunk extension */</span><span class="preprocessor"></span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#define MPV_1024_58 NLEN_1024_58</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_1024_58 (NLEN_1024_58+1)</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a>[<a class="code" href="big__1024__58_8h.html#a0a8882f5fa3bf70c96145d7a5a162e37">NLEN_1024_58</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_1024_58 DNLEN_1024_58</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_1024_58 (DNLEN_1024_58+1)</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a>[<a class="code" href="big__1024__58_8h.html#a16af5855a6f4a0a4f315fcc98c9926ba">DNLEN_1024_58</a>+2]; </div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a>[<a class="code" href="big__1024__58_8h.html#a0a8882f5fa3bf70c96145d7a5a162e37">NLEN_1024_58</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a>[<a class="code" href="big__1024__58_8h.html#a16af5855a6f4a0a4f315fcc98c9926ba">DNLEN_1024_58</a>];   </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* BIG number prototypes */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#a9914e305af21db990dbe3a057922803a">BIG_1024_58_iszilch</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#a9e68fc45805cdfe899c73b8dc39050b1">BIG_1024_58_isunity</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#a689ac42e23036ad21834fd942ca15d04">BIG_1024_58_diszilch</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#ac7a8eb974dd82c2f31e3b120f4ddbc5d">BIG_1024_58_output</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a4a584a3e57e2752a4f59423503e81dd7">BIG_1024_58_rawoutput</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a8ed8ce73b499a238662439a49473ca90">BIG_1024_58_cswap</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a4c7778e1a335b35a4665e59e362fdcb7">BIG_1024_58_cmove</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a6af9f026d8c2cb05659ed8f31d503a54">BIG_1024_58_dcmove</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a34066f8efa6c016c7c502ef15022eae7">BIG_1024_58_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a281cae3966b611c2537d70299a5738f6">BIG_1024_58_fromBytes</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">char</span> *a);</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#af1faa088ae945221ecd0b9183adb5499">BIG_1024_58_fromBytesLen</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">char</span> *a,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#acdbe087fda94ec14544741fe34fc0aaf">BIG_1024_58_dfromBytesLen</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<span class="keywordtype">char</span> *a,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#aeb8691b6e4a7ff22929a6ea4e8d8b3da">BIG_1024_58_doutput</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x);</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a3c33bca4d8d89b2f77a3d88e70e38d8d">BIG_1024_58_drawoutput</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a139ae8d29114968edb0b54e530d082e2">BIG_1024_58_rcopy</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keyword">const</span> <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y);</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a94daed5bc774c1ed9bb29ace95b5af1e">BIG_1024_58_copy</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#af38b390385549c31d7ce8447f9a45dbd">BIG_1024_58_dcopy</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> y);</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#aa545f16338ba3999213e4ae7ef376487">BIG_1024_58_dsucopy</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y);</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a70a47ab4fbb69c412f32d998b5a40551">BIG_1024_58_dscopy</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y);</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a5d8d33ffbbce6d087b1e1c49a1fad23d">BIG_1024_58_sdcopy</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> y);</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a67a3f6e541cc9bc314e4f94721ca2fba">BIG_1024_58_sducopy</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> y);</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a4f5a30353d520430afef1da22610a65f">BIG_1024_58_zero</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a169065bae28b4d5b2345cc6449d61116">BIG_1024_58_dzero</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x);</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a42011029a68b709728c96b06295c3bee">BIG_1024_58_one</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a9356a68e69873749b1d8b552e8eedcd4">BIG_1024_58_invmod2m</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#abbe6b3a99af9aecd1841df049153b569">BIG_1024_58_add</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> z);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#ac2acae35d001aa2a3fb2ac2039341f18">BIG_1024_58_or</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> z);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#afca0383b584f39627f2d3b2a19742441">BIG_1024_58_inc</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#aaa5525a00e5d792272627b952c839311">BIG_1024_58_sub</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> z);</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a90e0e0ca821bb22ab92659627637c612">BIG_1024_58_dec</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a3f3f2d5fbc9a91b680d5040d6693f499">BIG_1024_58_dadd</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> z);</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a9c71ce01032e357c3c5935a6e4716017">BIG_1024_58_dsub</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> z);</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#aea983376fb00f180a797da09e3266fde">BIG_1024_58_imul</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="keyword">extern</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__1024__58_8h.html#a7bd87a02037daa18fda51f198ff141e2">BIG_1024_58_pmul</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#af3745602825277b88fe99dd76b103b5d">BIG_1024_58_div3</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#aa44406222b538ec2433a2be4738c4cb0">BIG_1024_58_pxmul</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a0690afd393dc18f933e60990d3821b45">BIG_1024_58_mul</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> z);</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a3d3805aec11909f08ce7636249d4185e">BIG_1024_58_smul</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> z);</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a1e2d834083c873552e56e3ddfdbef044">BIG_1024_58_sqr</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y);</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a3709498b361201350c543ab42e5dc1c7">BIG_1024_58_monty</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> a,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> d);</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#ae71758a3e3c67efbbb4ff0bcea9df928">BIG_1024_58_shl</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#a7775ca1af1766e0874ba094caeed81dc">BIG_1024_58_fshl</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a91e88ae17c00cf2ccefced76c727d60d">BIG_1024_58_dshl</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a2f317d943e33967f27e58968cca8df27">BIG_1024_58_shr</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#abea7bf865060ea2fd29102dfa921dff4">BIG_1024_58_ssn</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> r,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> a, <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> m);</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#ac5bf43346b61df367fe387509e0bc844">BIG_1024_58_fshr</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#ab50ad93d711f57cad218154028e77da7">BIG_1024_58_dshr</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;<span class="keyword">extern</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__1024__58_8h.html#ae35c74afb8c26ecd4e432e9a3e68362d">BIG_1024_58_split</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> z,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;<span class="keyword">extern</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__1024__58_8h.html#a78dfb374de911ef2d768ce9d9398aadc">BIG_1024_58_norm</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a3180823b4ebd2be0e8d6ace836a87b56">BIG_1024_58_dnorm</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x);</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#a20a0b8fabe8aa895eb6c4b2e1e597adb">BIG_1024_58_comp</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y);</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#afa0ffcf3a57d2482330e0e8ae6eb05db">BIG_1024_58_dcomp</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> y);</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#a5efd1864ed90d0a55a62d3b10c921705">BIG_1024_58_nbits</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#a7b0abd4056a185f6f702d0aca0cab277">BIG_1024_58_dnbits</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x);</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#af4b09ea14dd99580a95573594fb598c6">BIG_1024_58_mod</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n);</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a9ab3f1c57e7e4155b6194335712e3b64">BIG_1024_58_sdiv</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n);</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a2896cb84c0b5c26a4d7a588bfe2b0f77">BIG_1024_58_dmod</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n);</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a938e45286d8d713c89cef4e6b1eeb129">BIG_1024_58_ddiv</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n);</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#a585caf3c149a0beef6f0136b92bcd46a">BIG_1024_58_parity</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#a7672b6adaef24df910705c025603eda8">BIG_1024_58_bit</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#a906d21822878cf8e8f1dfd2e82e074fb">BIG_1024_58_lastbits</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a2db663a9a1f83eba523c4f0bf8af74b1">BIG_1024_58_random</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="structcsprng.html">csprng</a> *r);</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#ae42a80d27315f80f3c905d071195e8b1">BIG_1024_58_randomnum</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n,<a class="code" href="structcsprng.html">csprng</a> *r);</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a1eaec9a14b6840cd8bc724d263296a95">BIG_1024_58_modmul</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> z,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n);</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a7b984d08e0649c45f4bb43af4b249e68">BIG_1024_58_moddiv</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> z,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n);</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#af62acb0b41db1a43d959887a894db497">BIG_1024_58_modsqr</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n);</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a1a81f4df17bfc22252203fcc589857d8">BIG_1024_58_modneg</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n);</div><div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#aa3cc87dbc15806b0f702891ac7098ac0">BIG_1024_58_jacobi</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y);</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a94ba3da9d18c02c77fd80f74c69c2a81">BIG_1024_58_invmodp</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n);</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a5de7afcfa9816cae291aaca61ecb118b">BIG_1024_58_mod2m</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">int</span> m);</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a9b7d10ac14d01730ca0ed7ebafaf4365">BIG_1024_58_dmod2m</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<span class="keywordtype">int</span> m);</div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;</div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;<span class="preprocessor">#ifdef dchunk</span></div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;<span class="comment">/* Method required to calculate x*y+c+r, bottom half in r, top half returned */</span></div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> muladd_1024_58(<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> x,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> y,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> c,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> *r)</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;{</div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;    dchunk prod=(dchunk)x*y+c+*r;</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;    *r=(<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)prod&amp;<a class="code" href="big__1024__58_8h.html#acc7cf521c2232960e736d7bc149ae147">BMASK_1024_58</a>;</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;    <span class="keywordflow">return</span> (<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)(prod&gt;&gt;<a class="code" href="config__big__1024__58_8h.html#a0fdac7cd24ebe3f1dd4d890f201cad7c">BASEBITS_1024_58</a>);</div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;}</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;<span class="comment">/* No integer type available that can store double the wordlength */</span></div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;<span class="comment">/* accumulate partial products */</span></div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;</div><div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> muladd_1024_58(<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> x,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> y,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> c,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> *r)</div><div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;{</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;    <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> x0,x1,y0,y1;</div><div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;    <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> bot,top,mid,carry;</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;    x0=x&amp;<a class="code" href="big__1024__58_8h.html#ad427d858bae25e21c839cfb4a68ab0f4">HMASK_1024_58</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__1024__58_8h.html#ac9e2b95f4b4d79160bfbbf22715a9a3d">HBITS_1024_58</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__1024__58_8h.html#ad427d858bae25e21c839cfb4a68ab0f4">HMASK_1024_58</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__1024__58_8h.html#ac9e2b95f4b4d79160bfbbf22715a9a3d">HBITS_1024_58</a>);</div><div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;    bot=x0*y0;</div><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;    top=x1*y1;</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;    mid=x0*y1+x1*y0;</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;    x0=mid&amp;<a class="code" href="big__1024__58_8h.html#ad427d858bae25e21c839cfb4a68ab0f4">HMASK_1024_58</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__1024__58_8h.html#ac9e2b95f4b4d79160bfbbf22715a9a3d">HBITS_1024_58</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__1024__58_8h.html#ac9e2b95f4b4d79160bfbbf22715a9a3d">HBITS_1024_58</a>;</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;    bot+=*r;</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;    bot+=c;</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;    top+=x1;</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;    carry=bot&gt;&gt;<a class="code" href="config__big__1024__58_8h.html#a0fdac7cd24ebe3f1dd4d890f201cad7c">BASEBITS_1024_58</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__1024__58_8h.html#acc7cf521c2232960e736d7bc149ae147">BMASK_1024_58</a>;</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;    top+=carry;</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;</div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;    *r=bot;</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;    <span class="keywordflow">return</span> top;</div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;}</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;</div><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;</div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="big__1024__58_8h_html_a4c7778e1a335b35a4665e59e362fdcb7"><div class="ttname"><a href="big__1024__58_8h.html#a4c7778e1a335b35a4665e59e362fdcb7">BIG_1024_58_cmove</a></div><div class="ttdeci">void BIG_1024_58_cmove(BIG_1024_58 x, BIG_1024_58 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:110</div></div>
-<div class="ttc" id="big__1024__58_8h_html_aaa5525a00e5d792272627b952c839311"><div class="ttname"><a href="big__1024__58_8h.html#aaa5525a00e5d792272627b952c839311">BIG_1024_58_sub</a></div><div class="ttdeci">void BIG_1024_58_sub(BIG_1024_58 x, BIG_1024_58 y, BIG_1024_58 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:397</div></div>
-<div class="ttc" id="big__1024__58_8h_html_aea983376fb00f180a797da09e3266fde"><div class="ttname"><a href="big__1024__58_8h.html#aea983376fb00f180a797da09e3266fde">BIG_1024_58_imul</a></div><div class="ttdeci">void BIG_1024_58_imul(BIG_1024_58 x, BIG_1024_58 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:450</div></div>
-<div class="ttc" id="big__1024__58_8h_html_abea7bf865060ea2fd29102dfa921dff4"><div class="ttname"><a href="big__1024__58_8h.html#abea7bf865060ea2fd29102dfa921dff4">BIG_1024_58_ssn</a></div><div class="ttdeci">int BIG_1024_58_ssn(BIG_1024_58 r, BIG_1024_58 a, BIG_1024_58 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:877</div></div>
-<div class="ttc" id="big__1024__58_8h_html_afca0383b584f39627f2d3b2a19742441"><div class="ttname"><a href="big__1024__58_8h.html#afca0383b584f39627f2d3b2a19742441">BIG_1024_58_inc</a></div><div class="ttdeci">void BIG_1024_58_inc(BIG_1024_58 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:386</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a94daed5bc774c1ed9bb29ace95b5af1e"><div class="ttname"><a href="big__1024__58_8h.html#a94daed5bc774c1ed9bb29ace95b5af1e">BIG_1024_58_copy</a></div><div class="ttdeci">void BIG_1024_58_copy(BIG_1024_58 x, BIG_1024_58 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:227</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a3d3805aec11909f08ce7636249d4185e"><div class="ttname"><a href="big__1024__58_8h.html#a3d3805aec11909f08ce7636249d4185e">BIG_1024_58_smul</a></div><div class="ttdeci">void BIG_1024_58_smul(BIG_1024_58 x, BIG_1024_58 y, BIG_1024_58 z)</div><div class="ttdoc">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:518</div></div>
-<div class="ttc" id="big__1024__58_8h_html_aa545f16338ba3999213e4ae7ef376487"><div class="ttname"><a href="big__1024__58_8h.html#aa545f16338ba3999213e4ae7ef376487">BIG_1024_58_dsucopy</a></div><div class="ttdeci">void BIG_1024_58_dsucopy(DBIG_1024_58 x, BIG_1024_58 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:280</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a4a584a3e57e2752a4f59423503e81dd7"><div class="ttname"><a href="big__1024__58_8h.html#a4a584a3e57e2752a4f59423503e81dd7">BIG_1024_58_rawoutput</a></div><div class="ttdeci">void BIG_1024_58_rawoutput(BIG_1024_58 x)</div><div class="ttdoc">Outputs a BIG number to the console in raw form (for debugging)</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:77</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a9356a68e69873749b1d8b552e8eedcd4"><div class="ttname"><a href="big__1024__58_8h.html#a9356a68e69873749b1d8b552e8eedcd4">BIG_1024_58_invmod2m</a></div><div class="ttdeci">void BIG_1024_58_invmod2m(BIG_1024_58 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div><div class="ttdef"><b>Definition:</b> ff_2048.c:66</div></div>
-<div class="ttc" id="big__1024__58_8h_html_acdbe087fda94ec14544741fe34fc0aaf"><div class="ttname"><a href="big__1024__58_8h.html#acdbe087fda94ec14544741fe34fc0aaf">BIG_1024_58_dfromBytesLen</a></div><div class="ttdeci">void BIG_1024_58_dfromBytesLen(DBIG_1024_58 x, char *a, int s)</div><div class="ttdoc">Convert to DBIG number from byte array of given length.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1485</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a3180823b4ebd2be0e8d6ace836a87b56"><div class="ttname"><a href="big__1024__58_8h.html#a3180823b4ebd2be0e8d6ace836a87b56">BIG_1024_58_dnorm</a></div><div class="ttdeci">void BIG_1024_58_dnorm(DBIG_1024_58 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:995</div></div>
-<div class="ttc" id="big__1024__58_8h_html_af1faa088ae945221ecd0b9183adb5499"><div class="ttname"><a href="big__1024__58_8h.html#af1faa088ae945221ecd0b9183adb5499">BIG_1024_58_fromBytesLen</a></div><div class="ttdeci">void BIG_1024_58_fromBytesLen(BIG_1024_58 x, char *a, int s)</div><div class="ttdoc">Convert to BIG number from byte array of given length.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:170</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a6af9f026d8c2cb05659ed8f31d503a54"><div class="ttname"><a href="big__1024__58_8h.html#a6af9f026d8c2cb05659ed8f31d503a54">BIG_1024_58_dcmove</a></div><div class="ttdeci">void BIG_1024_58_dcmove(BIG_1024_58 x, BIG_1024_58 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a169065bae28b4d5b2345cc6449d61116"><div class="ttname"><a href="big__1024__58_8h.html#a169065bae28b4d5b2345cc6449d61116">BIG_1024_58_dzero</a></div><div class="ttdeci">void BIG_1024_58_dzero(DBIG_1024_58 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:329</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a1e2d834083c873552e56e3ddfdbef044"><div class="ttname"><a href="big__1024__58_8h.html#a1e2d834083c873552e56e3ddfdbef044">BIG_1024_58_sqr</a></div><div class="ttdeci">void BIG_1024_58_sqr(DBIG_1024_58 x, BIG_1024_58 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:618</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a1eaec9a14b6840cd8bc724d263296a95"><div class="ttname"><a href="big__1024__58_8h.html#a1eaec9a14b6840cd8bc724d263296a95">BIG_1024_58_modmul</a></div><div class="ttdeci">void BIG_1024_58_modmul(BIG_1024_58 x, BIG_1024_58 y, BIG_1024_58 z, BIG_1024_58 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1300</div></div>
+<a href="big__1024__58_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">    Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">    or more contributor license agreements.  See the NOTICE file</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">    distributed with this work for additional information</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">    regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">    to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">    &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">    with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">    http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">    Unless required by applicable law or agreed to in writing,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">    software distributed under the License is distributed on an</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">    &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">    KIND, either express or implied.  See the License for the</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">    specific language governing permissions and limitations</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">    under the License.</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#ifndef BIG_1024_58_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_1024_58_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;inttypes.h&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="arch_8h.html">arch.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;amcl.h&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__1024__58_8h.html">config_big_1024_58.h</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">//#define UNWOUND</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="big__1024__58_8h.html#a65bdfd2b6b38168e8bcd9f1af013c7b5">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_1024_58 (8*MODBYTES_1024_58) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__1024__58_8h.html#a0a8882f5fa3bf70c96145d7a5a162e37">   40</a></span>&#160;<span class="preprocessor">#define NLEN_1024_58 (1+((8*MODBYTES_1024_58-1)/BASEBITS_1024_58)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__1024__58_8h.html#a16af5855a6f4a0a4f315fcc98c9926ba">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_1024_58 2*NLEN_1024_58 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__1024__58_8h.html#acc7cf521c2232960e736d7bc149ae147">   42</a></span>&#160;<span class="preprocessor">#define BMASK_1024_58 (((chunk)1&lt;&lt;BASEBITS_1024_58)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__1024__58_8h.html#a6d05e6d3b558714d70318f38f704ce6d">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_1024_58 (1&lt;&lt;(CHUNK-BASEBITS_1024_58-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__1024__58_8h.html#ac9e2b95f4b4d79160bfbbf22715a9a3d">   45</a></span>&#160;<span class="preprocessor">#define HBITS_1024_58 (BASEBITS_1024_58/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__1024__58_8h.html#ad427d858bae25e21c839cfb4a68ab0f4">   46</a></span>&#160;<span class="preprocessor">#define HMASK_1024_58 (((chunk)1&lt;&lt;HBITS_1024_58)-1)    </span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">//#define DEBUG_NORM</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#ifdef DEBUG_NORM  </span><span class="comment">/* Add an extra location to track chunk extension */</span><span class="preprocessor"></span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#define MPV_1024_58 NLEN_1024_58</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_1024_58 (NLEN_1024_58+1)</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a>[<a class="code" href="big__1024__58_8h.html#a0a8882f5fa3bf70c96145d7a5a162e37">NLEN_1024_58</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_1024_58 DNLEN_1024_58</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_1024_58 (DNLEN_1024_58+1)</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a>[<a class="code" href="big__1024__58_8h.html#a16af5855a6f4a0a4f315fcc98c9926ba">DNLEN_1024_58</a>+2]; </div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a>[<a class="code" href="big__1024__58_8h.html#a0a8882f5fa3bf70c96145d7a5a162e37">NLEN_1024_58</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a>[<a class="code" href="big__1024__58_8h.html#a16af5855a6f4a0a4f315fcc98c9926ba">DNLEN_1024_58</a>];   </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* BIG number prototypes */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#a9914e305af21db990dbe3a057922803a">BIG_1024_58_iszilch</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#a9e68fc45805cdfe899c73b8dc39050b1">BIG_1024_58_isunity</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#a689ac42e23036ad21834fd942ca15d04">BIG_1024_58_diszilch</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#ac7a8eb974dd82c2f31e3b120f4ddbc5d">BIG_1024_58_output</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a4a584a3e57e2752a4f59423503e81dd7">BIG_1024_58_rawoutput</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a8ed8ce73b499a238662439a49473ca90">BIG_1024_58_cswap</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a4c7778e1a335b35a4665e59e362fdcb7">BIG_1024_58_cmove</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a6af9f026d8c2cb05659ed8f31d503a54">BIG_1024_58_dcmove</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a34066f8efa6c016c7c502ef15022eae7">BIG_1024_58_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a281cae3966b611c2537d70299a5738f6">BIG_1024_58_fromBytes</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">char</span> *a);</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#af1faa088ae945221ecd0b9183adb5499">BIG_1024_58_fromBytesLen</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">char</span> *a,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#acdbe087fda94ec14544741fe34fc0aaf">BIG_1024_58_dfromBytesLen</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<span class="keywordtype">char</span> *a,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#aeb8691b6e4a7ff22929a6ea4e8d8b3da">BIG_1024_58_doutput</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x);</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a3c33bca4d8d89b2f77a3d88e70e38d8d">BIG_1024_58_drawoutput</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a139ae8d29114968edb0b54e530d082e2">BIG_1024_58_rcopy</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keyword">const</span> <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y);</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a94daed5bc774c1ed9bb29ace95b5af1e">BIG_1024_58_copy</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#af38b390385549c31d7ce8447f9a45dbd">BIG_1024_58_dcopy</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> y);</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#aa545f16338ba3999213e4ae7ef376487">BIG_1024_58_dsucopy</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y);</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a70a47ab4fbb69c412f32d998b5a40551">BIG_1024_58_dscopy</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y);</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a5d8d33ffbbce6d087b1e1c49a1fad23d">BIG_1024_58_sdcopy</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> y);</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a67a3f6e541cc9bc314e4f94721ca2fba">BIG_1024_58_sducopy</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> y);</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a4f5a30353d520430afef1da22610a65f">BIG_1024_58_zero</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a169065bae28b4d5b2345cc6449d61116">BIG_1024_58_dzero</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x);</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a42011029a68b709728c96b06295c3bee">BIG_1024_58_one</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a9356a68e69873749b1d8b552e8eedcd4">BIG_1024_58_invmod2m</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#abbe6b3a99af9aecd1841df049153b569">BIG_1024_58_add</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> z);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#ac2acae35d001aa2a3fb2ac2039341f18">BIG_1024_58_or</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> z);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#afca0383b584f39627f2d3b2a19742441">BIG_1024_58_inc</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#aaa5525a00e5d792272627b952c839311">BIG_1024_58_sub</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> z);</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a90e0e0ca821bb22ab92659627637c612">BIG_1024_58_dec</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a3f3f2d5fbc9a91b680d5040d6693f499">BIG_1024_58_dadd</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> z);</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a9c71ce01032e357c3c5935a6e4716017">BIG_1024_58_dsub</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> z);</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#aea983376fb00f180a797da09e3266fde">BIG_1024_58_imul</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="keyword">extern</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__1024__58_8h.html#a7bd87a02037daa18fda51f198ff141e2">BIG_1024_58_pmul</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#af3745602825277b88fe99dd76b103b5d">BIG_1024_58_div3</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#aa44406222b538ec2433a2be4738c4cb0">BIG_1024_58_pxmul</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a0690afd393dc18f933e60990d3821b45">BIG_1024_58_mul</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> z);</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a3d3805aec11909f08ce7636249d4185e">BIG_1024_58_smul</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> z);</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a1e2d834083c873552e56e3ddfdbef044">BIG_1024_58_sqr</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y);</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a3709498b361201350c543ab42e5dc1c7">BIG_1024_58_monty</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> a,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> d);</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#ae71758a3e3c67efbbb4ff0bcea9df928">BIG_1024_58_shl</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#a7775ca1af1766e0874ba094caeed81dc">BIG_1024_58_fshl</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a91e88ae17c00cf2ccefced76c727d60d">BIG_1024_58_dshl</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a2f317d943e33967f27e58968cca8df27">BIG_1024_58_shr</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#abea7bf865060ea2fd29102dfa921dff4">BIG_1024_58_ssn</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> r,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> a, <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> m);</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#ac5bf43346b61df367fe387509e0bc844">BIG_1024_58_fshr</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#ab50ad93d711f57cad218154028e77da7">BIG_1024_58_dshr</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;<span class="keyword">extern</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__1024__58_8h.html#ae35c74afb8c26ecd4e432e9a3e68362d">BIG_1024_58_split</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> z,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;<span class="keyword">extern</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__1024__58_8h.html#a78dfb374de911ef2d768ce9d9398aadc">BIG_1024_58_norm</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a3180823b4ebd2be0e8d6ace836a87b56">BIG_1024_58_dnorm</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x);</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#a20a0b8fabe8aa895eb6c4b2e1e597adb">BIG_1024_58_comp</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y);</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#afa0ffcf3a57d2482330e0e8ae6eb05db">BIG_1024_58_dcomp</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> y);</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#a5efd1864ed90d0a55a62d3b10c921705">BIG_1024_58_nbits</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#a7b0abd4056a185f6f702d0aca0cab277">BIG_1024_58_dnbits</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x);</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#af4b09ea14dd99580a95573594fb598c6">BIG_1024_58_mod</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n);</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a9ab3f1c57e7e4155b6194335712e3b64">BIG_1024_58_sdiv</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n);</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a2896cb84c0b5c26a4d7a588bfe2b0f77">BIG_1024_58_dmod</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n);</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a938e45286d8d713c89cef4e6b1eeb129">BIG_1024_58_ddiv</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n);</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#a585caf3c149a0beef6f0136b92bcd46a">BIG_1024_58_parity</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x);</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#a7672b6adaef24df910705c025603eda8">BIG_1024_58_bit</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#a906d21822878cf8e8f1dfd2e82e074fb">BIG_1024_58_lastbits</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a2db663a9a1f83eba523c4f0bf8af74b1">BIG_1024_58_random</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="structcsprng.html">csprng</a> *r);</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#ae42a80d27315f80f3c905d071195e8b1">BIG_1024_58_randomnum</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n,<a class="code" href="structcsprng.html">csprng</a> *r);</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a1eaec9a14b6840cd8bc724d263296a95">BIG_1024_58_modmul</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> z,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n);</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a7b984d08e0649c45f4bb43af4b249e68">BIG_1024_58_moddiv</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> z,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n);</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#af62acb0b41db1a43d959887a894db497">BIG_1024_58_modsqr</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n);</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a1a81f4df17bfc22252203fcc589857d8">BIG_1024_58_modneg</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n);</div><div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="big__1024__58_8h.html#aa3cc87dbc15806b0f702891ac7098ac0">BIG_1024_58_jacobi</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y);</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a94ba3da9d18c02c77fd80f74c69c2a81">BIG_1024_58_invmodp</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n);</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a5de7afcfa9816cae291aaca61ecb118b">BIG_1024_58_mod2m</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> x,<span class="keywordtype">int</span> m);</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="big__1024__58_8h.html#a9b7d10ac14d01730ca0ed7ebafaf4365">BIG_1024_58_dmod2m</a>(<a class="code" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a> x,<span class="keywordtype">int</span> m);</div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;</div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;<span class="preprocessor">#ifdef dchunk</span></div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;<span class="comment">/* Method required to calculate x*y+c+r, bottom half in r, top half returned */</span></div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> muladd_1024_58(<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> x,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> y,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> c,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> *r)</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;{</div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;    dchunk prod=(dchunk)x*y+c+*r;</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;    *r=(<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)prod&amp;<a class="code" href="big__1024__58_8h.html#acc7cf521c2232960e736d7bc149ae147">BMASK_1024_58</a>;</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;    <span class="keywordflow">return</span> (<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)(prod&gt;&gt;<a class="code" href="config__big__1024__58_8h.html#a0fdac7cd24ebe3f1dd4d890f201cad7c">BASEBITS_1024_58</a>);</div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;}</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;<span class="comment">/* No integer type available that can store double the wordlength */</span></div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;<span class="comment">/* accumulate partial products */</span></div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;</div><div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> muladd_1024_58(<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> x,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> y,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> c,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> *r)</div><div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;{</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;    <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> x0,x1,y0,y1;</div><div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;    <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> bot,top,mid,carry;</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;    x0=x&amp;<a class="code" href="big__1024__58_8h.html#ad427d858bae25e21c839cfb4a68ab0f4">HMASK_1024_58</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__1024__58_8h.html#ac9e2b95f4b4d79160bfbbf22715a9a3d">HBITS_1024_58</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__1024__58_8h.html#ad427d858bae25e21c839cfb4a68ab0f4">HMASK_1024_58</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__1024__58_8h.html#ac9e2b95f4b4d79160bfbbf22715a9a3d">HBITS_1024_58</a>);</div><div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;    bot=x0*y0;</div><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;    top=x1*y1;</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;    mid=x0*y1+x1*y0;</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;    x0=mid&amp;<a class="code" href="big__1024__58_8h.html#ad427d858bae25e21c839cfb4a68ab0f4">HMASK_1024_58</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__1024__58_8h.html#ac9e2b95f4b4d79160bfbbf22715a9a3d">HBITS_1024_58</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__1024__58_8h.html#ac9e2b95f4b4d79160bfbbf22715a9a3d">HBITS_1024_58</a>;</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;    bot+=*r;</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;    bot+=c;</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;    top+=x1;</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;    carry=bot&gt;&gt;<a class="code" href="config__big__1024__58_8h.html#a0fdac7cd24ebe3f1dd4d890f201cad7c">BASEBITS_1024_58</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__1024__58_8h.html#acc7cf521c2232960e736d7bc149ae147">BMASK_1024_58</a>;</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;    top+=carry;</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;</div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;    *r=bot;</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;    <span class="keywordflow">return</span> top;</div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;}</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;</div><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;</div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="big__1024__58_8h_html_a4c7778e1a335b35a4665e59e362fdcb7"><div class="ttname"><a href="big__1024__58_8h.html#a4c7778e1a335b35a4665e59e362fdcb7">BIG_1024_58_cmove</a></div><div class="ttdeci">void BIG_1024_58_cmove(BIG_1024_58 x, BIG_1024_58 y, int s)</div><div class="ttdoc">Conditional copy of BIG number. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:110</div></div>
+<div class="ttc" id="big__1024__58_8h_html_aaa5525a00e5d792272627b952c839311"><div class="ttname"><a href="big__1024__58_8h.html#aaa5525a00e5d792272627b952c839311">BIG_1024_58_sub</a></div><div class="ttdeci">void BIG_1024_58_sub(BIG_1024_58 x, BIG_1024_58 y, BIG_1024_58 z)</div><div class="ttdoc">Set BIG to difference of two BIGs. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:397</div></div>
+<div class="ttc" id="big__1024__58_8h_html_aea983376fb00f180a797da09e3266fde"><div class="ttname"><a href="big__1024__58_8h.html#aea983376fb00f180a797da09e3266fde">BIG_1024_58_imul</a></div><div class="ttdeci">void BIG_1024_58_imul(BIG_1024_58 x, BIG_1024_58 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:450</div></div>
+<div class="ttc" id="big__1024__58_8h_html_abea7bf865060ea2fd29102dfa921dff4"><div class="ttname"><a href="big__1024__58_8h.html#abea7bf865060ea2fd29102dfa921dff4">BIG_1024_58_ssn</a></div><div class="ttdeci">int BIG_1024_58_ssn(BIG_1024_58 r, BIG_1024_58 a, BIG_1024_58 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:877</div></div>
+<div class="ttc" id="big__1024__58_8h_html_afca0383b584f39627f2d3b2a19742441"><div class="ttname"><a href="big__1024__58_8h.html#afca0383b584f39627f2d3b2a19742441">BIG_1024_58_inc</a></div><div class="ttdeci">void BIG_1024_58_inc(BIG_1024_58 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:386</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a94daed5bc774c1ed9bb29ace95b5af1e"><div class="ttname"><a href="big__1024__58_8h.html#a94daed5bc774c1ed9bb29ace95b5af1e">BIG_1024_58_copy</a></div><div class="ttdeci">void BIG_1024_58_copy(BIG_1024_58 x, BIG_1024_58 y)</div><div class="ttdoc">Copy BIG to another BIG. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:227</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a3d3805aec11909f08ce7636249d4185e"><div class="ttname"><a href="big__1024__58_8h.html#a3d3805aec11909f08ce7636249d4185e">BIG_1024_58_smul</a></div><div class="ttdeci">void BIG_1024_58_smul(BIG_1024_58 x, BIG_1024_58 y, BIG_1024_58 z)</div><div class="ttdoc">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised...</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:518</div></div>
+<div class="ttc" id="big__1024__58_8h_html_aa545f16338ba3999213e4ae7ef376487"><div class="ttname"><a href="big__1024__58_8h.html#aa545f16338ba3999213e4ae7ef376487">BIG_1024_58_dsucopy</a></div><div class="ttdeci">void BIG_1024_58_dsucopy(DBIG_1024_58 x, BIG_1024_58 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:280</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a4a584a3e57e2752a4f59423503e81dd7"><div class="ttname"><a href="big__1024__58_8h.html#a4a584a3e57e2752a4f59423503e81dd7">BIG_1024_58_rawoutput</a></div><div class="ttdeci">void BIG_1024_58_rawoutput(BIG_1024_58 x)</div><div class="ttdoc">Outputs a BIG number to the console in raw form (for debugging) </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:77</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a9356a68e69873749b1d8b552e8eedcd4"><div class="ttname"><a href="big__1024__58_8h.html#a9356a68e69873749b1d8b552e8eedcd4">BIG_1024_58_invmod2m</a></div><div class="ttdeci">void BIG_1024_58_invmod2m(BIG_1024_58 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1432</div></div>
+<div class="ttc" id="big__1024__58_8h_html_acdbe087fda94ec14544741fe34fc0aaf"><div class="ttname"><a href="big__1024__58_8h.html#acdbe087fda94ec14544741fe34fc0aaf">BIG_1024_58_dfromBytesLen</a></div><div class="ttdeci">void BIG_1024_58_dfromBytesLen(DBIG_1024_58 x, char *a, int s)</div><div class="ttdoc">Convert to DBIG number from byte array of given length. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1569</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a3180823b4ebd2be0e8d6ace836a87b56"><div class="ttname"><a href="big__1024__58_8h.html#a3180823b4ebd2be0e8d6ace836a87b56">BIG_1024_58_dnorm</a></div><div class="ttdeci">void BIG_1024_58_dnorm(DBIG_1024_58 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:995</div></div>
+<div class="ttc" id="big__1024__58_8h_html_af1faa088ae945221ecd0b9183adb5499"><div class="ttname"><a href="big__1024__58_8h.html#af1faa088ae945221ecd0b9183adb5499">BIG_1024_58_fromBytesLen</a></div><div class="ttdeci">void BIG_1024_58_fromBytesLen(BIG_1024_58 x, char *a, int s)</div><div class="ttdoc">Convert to BIG number from byte array of given length. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:170</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a6af9f026d8c2cb05659ed8f31d503a54"><div class="ttname"><a href="big__1024__58_8h.html#a6af9f026d8c2cb05659ed8f31d503a54">BIG_1024_58_dcmove</a></div><div class="ttdeci">void BIG_1024_58_dcmove(BIG_1024_58 x, BIG_1024_58 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number. </div></div>
+<div class="ttc" id="big__1024__58_8h_html_a169065bae28b4d5b2345cc6449d61116"><div class="ttname"><a href="big__1024__58_8h.html#a169065bae28b4d5b2345cc6449d61116">BIG_1024_58_dzero</a></div><div class="ttdeci">void BIG_1024_58_dzero(DBIG_1024_58 x)</div><div class="ttdoc">Set DBIG to zero. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:329</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a1e2d834083c873552e56e3ddfdbef044"><div class="ttname"><a href="big__1024__58_8h.html#a1e2d834083c873552e56e3ddfdbef044">BIG_1024_58_sqr</a></div><div class="ttdeci">void BIG_1024_58_sqr(DBIG_1024_58 x, BIG_1024_58 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:618</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a1eaec9a14b6840cd8bc724d263296a95"><div class="ttname"><a href="big__1024__58_8h.html#a1eaec9a14b6840cd8bc724d263296a95">BIG_1024_58_modmul</a></div><div class="ttdeci">void BIG_1024_58_modmul(BIG_1024_58 x, BIG_1024_58 y, BIG_1024_58 z, BIG_1024_58 n)</div><div class="ttdoc">Calculate x=y*z mod n. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1300</div></div>
 <div class="ttc" id="big__1024__58_8h_html_acc7cf521c2232960e736d7bc149ae147"><div class="ttname"><a href="big__1024__58_8h.html#acc7cf521c2232960e736d7bc149ae147">BMASK_1024_58</a></div><div class="ttdeci">#define BMASK_1024_58</div><div class="ttdef"><b>Definition:</b> big_1024_58.h:42</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a9e68fc45805cdfe899c73b8dc39050b1"><div class="ttname"><a href="big__1024__58_8h.html#a9e68fc45805cdfe899c73b8dc39050b1">BIG_1024_58_isunity</a></div><div class="ttdeci">int BIG_1024_58_isunity(BIG_1024_58 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:35</div></div>
-<div class="ttc" id="big__1024__58_8h_html_ae42a80d27315f80f3c905d071195e8b1"><div class="ttname"><a href="big__1024__58_8h.html#ae42a80d27315f80f3c905d071195e8b1">BIG_1024_58_randomnum</a></div><div class="ttdeci">void BIG_1024_58_randomnum(BIG_1024_58 x, BIG_1024_58 n, csprng *r)</div><div class="ttdoc">Create an unbiased random BIG from a random number generator, reduced with respect to a modulus.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1274</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a5de7afcfa9816cae291aaca61ecb118b"><div class="ttname"><a href="big__1024__58_8h.html#a5de7afcfa9816cae291aaca61ecb118b">BIG_1024_58_mod2m</a></div><div class="ttdeci">void BIG_1024_58_mod2m(BIG_1024_58 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1456</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a67a3f6e541cc9bc314e4f94721ca2fba"><div class="ttname"><a href="big__1024__58_8h.html#a67a3f6e541cc9bc314e4f94721ca2fba">BIG_1024_58_sducopy</a></div><div class="ttdeci">void BIG_1024_58_sducopy(BIG_1024_58 x, DBIG_1024_58 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:306</div></div>
-<div class="ttc" id="big__1024__58_8h_html_af3745602825277b88fe99dd76b103b5d"><div class="ttname"><a href="big__1024__58_8h.html#af3745602825277b88fe99dd76b103b5d">BIG_1024_58_div3</a></div><div class="ttdeci">int BIG_1024_58_div3(BIG_1024_58 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:484</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a7b0abd4056a185f6f702d0aca0cab277"><div class="ttname"><a href="big__1024__58_8h.html#a7b0abd4056a185f6f702d0aca0cab277">BIG_1024_58_dnbits</a></div><div class="ttdeci">int BIG_1024_58_dnbits(DBIG_1024_58 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1060</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a2db663a9a1f83eba523c4f0bf8af74b1"><div class="ttname"><a href="big__1024__58_8h.html#a2db663a9a1f83eba523c4f0bf8af74b1">BIG_1024_58_random</a></div><div class="ttdeci">void BIG_1024_58_random(BIG_1024_58 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1248</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a139ae8d29114968edb0b54e530d082e2"><div class="ttname"><a href="big__1024__58_8h.html#a139ae8d29114968edb0b54e530d082e2">BIG_1024_58_rcopy</a></div><div class="ttdeci">void BIG_1024_58_rcopy(BIG_1024_58 x, const BIG_1024_58 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:239</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a3c33bca4d8d89b2f77a3d88e70e38d8d"><div class="ttname"><a href="big__1024__58_8h.html#a3c33bca4d8d89b2f77a3d88e70e38d8d">BIG_1024_58_drawoutput</a></div><div class="ttdeci">void BIG_1024_58_drawoutput(DBIG_1024_58 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:212</div></div>
-<div class="ttc" id="big__1024__58_8h_html_ae71758a3e3c67efbbb4ff0bcea9df928"><div class="ttname"><a href="big__1024__58_8h.html#ae71758a3e3c67efbbb4ff0bcea9df928">BIG_1024_58_shl</a></div><div class="ttdeci">void BIG_1024_58_shl(BIG_1024_58 x, int s)</div><div class="ttdoc">Shifts a BIG left by any number of bits - input must be normalised, output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:813</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a9e68fc45805cdfe899c73b8dc39050b1"><div class="ttname"><a href="big__1024__58_8h.html#a9e68fc45805cdfe899c73b8dc39050b1">BIG_1024_58_isunity</a></div><div class="ttdeci">int BIG_1024_58_isunity(BIG_1024_58 x)</div><div class="ttdoc">Tests for BIG equal to one. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:35</div></div>
+<div class="ttc" id="big__1024__58_8h_html_ae42a80d27315f80f3c905d071195e8b1"><div class="ttname"><a href="big__1024__58_8h.html#ae42a80d27315f80f3c905d071195e8b1">BIG_1024_58_randomnum</a></div><div class="ttdeci">void BIG_1024_58_randomnum(BIG_1024_58 x, BIG_1024_58 n, csprng *r)</div><div class="ttdoc">Create an unbiased random BIG from a random number generator, reduced with respect to a modulus...</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1274</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a5de7afcfa9816cae291aaca61ecb118b"><div class="ttname"><a href="big__1024__58_8h.html#a5de7afcfa9816cae291aaca61ecb118b">BIG_1024_58_mod2m</a></div><div class="ttdeci">void BIG_1024_58_mod2m(BIG_1024_58 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1540</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a67a3f6e541cc9bc314e4f94721ca2fba"><div class="ttname"><a href="big__1024__58_8h.html#a67a3f6e541cc9bc314e4f94721ca2fba">BIG_1024_58_sducopy</a></div><div class="ttdeci">void BIG_1024_58_sducopy(BIG_1024_58 x, DBIG_1024_58 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:306</div></div>
+<div class="ttc" id="big__1024__58_8h_html_af3745602825277b88fe99dd76b103b5d"><div class="ttname"><a href="big__1024__58_8h.html#af3745602825277b88fe99dd76b103b5d">BIG_1024_58_div3</a></div><div class="ttdeci">int BIG_1024_58_div3(BIG_1024_58 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:484</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a7b0abd4056a185f6f702d0aca0cab277"><div class="ttname"><a href="big__1024__58_8h.html#a7b0abd4056a185f6f702d0aca0cab277">BIG_1024_58_dnbits</a></div><div class="ttdeci">int BIG_1024_58_dnbits(DBIG_1024_58 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1060</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a2db663a9a1f83eba523c4f0bf8af74b1"><div class="ttname"><a href="big__1024__58_8h.html#a2db663a9a1f83eba523c4f0bf8af74b1">BIG_1024_58_random</a></div><div class="ttdeci">void BIG_1024_58_random(BIG_1024_58 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1248</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a139ae8d29114968edb0b54e530d082e2"><div class="ttname"><a href="big__1024__58_8h.html#a139ae8d29114968edb0b54e530d082e2">BIG_1024_58_rcopy</a></div><div class="ttdeci">void BIG_1024_58_rcopy(BIG_1024_58 x, const BIG_1024_58 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:239</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a3c33bca4d8d89b2f77a3d88e70e38d8d"><div class="ttname"><a href="big__1024__58_8h.html#a3c33bca4d8d89b2f77a3d88e70e38d8d">BIG_1024_58_drawoutput</a></div><div class="ttdeci">void BIG_1024_58_drawoutput(DBIG_1024_58 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:212</div></div>
+<div class="ttc" id="big__1024__58_8h_html_ae71758a3e3c67efbbb4ff0bcea9df928"><div class="ttname"><a href="big__1024__58_8h.html#ae71758a3e3c67efbbb4ff0bcea9df928">BIG_1024_58_shl</a></div><div class="ttdeci">void BIG_1024_58_shl(BIG_1024_58 x, int s)</div><div class="ttdoc">Shifts a BIG left by any number of bits - input must be normalised, output normalised. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:813</div></div>
 <div class="ttc" id="big__1024__58_8h_html_a7775ca1af1766e0874ba094caeed81dc"><div class="ttname"><a href="big__1024__58_8h.html#a7775ca1af1766e0874ba094caeed81dc">BIG_1024_58_fshl</a></div><div class="ttdeci">int BIG_1024_58_fshl(BIG_1024_58 x, int s)</div><div class="ttdoc">Fast shifts a BIG left by a small number of bits - input must be normalised, output will be normalise...</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:832</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a90e0e0ca821bb22ab92659627637c612"><div class="ttname"><a href="big__1024__58_8h.html#a90e0e0ca821bb22ab92659627637c612">BIG_1024_58_dec</a></div><div class="ttdeci">void BIG_1024_58_dec(BIG_1024_58 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:440</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a689ac42e23036ad21834fd942ca15d04"><div class="ttname"><a href="big__1024__58_8h.html#a689ac42e23036ad21834fd942ca15d04">BIG_1024_58_diszilch</a></div><div class="ttdeci">int BIG_1024_58_diszilch(DBIG_1024_58 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:45</div></div>
-<div class="ttc" id="config__big__1024__58_8h_html"><div class="ttname"><a href="config__big__1024__58_8h.html">config_big_1024_58.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a3f3f2d5fbc9a91b680d5040d6693f499"><div class="ttname"><a href="big__1024__58_8h.html#a3f3f2d5fbc9a91b680d5040d6693f499">BIG_1024_58_dadd</a></div><div class="ttdeci">void BIG_1024_58_dadd(DBIG_1024_58 x, DBIG_1024_58 y, DBIG_1024_58 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:426</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a0690afd393dc18f933e60990d3821b45"><div class="ttname"><a href="big__1024__58_8h.html#a0690afd393dc18f933e60990d3821b45">BIG_1024_58_mul</a></div><div class="ttdeci">void BIG_1024_58_mul(DBIG_1024_58 x, BIG_1024_58 y, BIG_1024_58 z)</div><div class="ttdoc">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:542</div></div>
-<div class="ttc" id="big__1024__58_8h_html_aeb8691b6e4a7ff22929a6ea4e8d8b3da"><div class="ttname"><a href="big__1024__58_8h.html#aeb8691b6e4a7ff22929a6ea4e8d8b3da">BIG_1024_58_doutput</a></div><div class="ttdeci">void BIG_1024_58_doutput(DBIG_1024_58 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:190</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a9b7d10ac14d01730ca0ed7ebafaf4365"><div class="ttname"><a href="big__1024__58_8h.html#a9b7d10ac14d01730ca0ed7ebafaf4365">BIG_1024_58_dmod2m</a></div><div class="ttdeci">void BIG_1024_58_dmod2m(DBIG_1024_58 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1470</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a5efd1864ed90d0a55a62d3b10c921705"><div class="ttname"><a href="big__1024__58_8h.html#a5efd1864ed90d0a55a62d3b10c921705">BIG_1024_58_nbits</a></div><div class="ttdeci">int BIG_1024_58_nbits(BIG_1024_58 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1040</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a8ed8ce73b499a238662439a49473ca90"><div class="ttname"><a href="big__1024__58_8h.html#a8ed8ce73b499a238662439a49473ca90">BIG_1024_58_cswap</a></div><div class="ttdeci">void BIG_1024_58_cswap(BIG_1024_58 x, BIG_1024_58 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:92</div></div>
-<div class="ttc" id="big__1024__58_8h_html_af38b390385549c31d7ce8447f9a45dbd"><div class="ttname"><a href="big__1024__58_8h.html#af38b390385549c31d7ce8447f9a45dbd">BIG_1024_58_dcopy</a></div><div class="ttdeci">void BIG_1024_58_dcopy(DBIG_1024_58 x, DBIG_1024_58 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:251</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a90e0e0ca821bb22ab92659627637c612"><div class="ttname"><a href="big__1024__58_8h.html#a90e0e0ca821bb22ab92659627637c612">BIG_1024_58_dec</a></div><div class="ttdeci">void BIG_1024_58_dec(BIG_1024_58 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:440</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a689ac42e23036ad21834fd942ca15d04"><div class="ttname"><a href="big__1024__58_8h.html#a689ac42e23036ad21834fd942ca15d04">BIG_1024_58_diszilch</a></div><div class="ttdeci">int BIG_1024_58_diszilch(DBIG_1024_58 x)</div><div class="ttdoc">Tests for DBIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:45</div></div>
+<div class="ttc" id="config__big__1024__58_8h_html"><div class="ttname"><a href="config__big__1024__58_8h.html">config_big_1024_58.h</a></div><div class="ttdoc">Config BIG Header File. </div></div>
+<div class="ttc" id="big__1024__58_8h_html_a3f3f2d5fbc9a91b680d5040d6693f499"><div class="ttname"><a href="big__1024__58_8h.html#a3f3f2d5fbc9a91b680d5040d6693f499">BIG_1024_58_dadd</a></div><div class="ttdeci">void BIG_1024_58_dadd(DBIG_1024_58 x, DBIG_1024_58 y, DBIG_1024_58 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:426</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a0690afd393dc18f933e60990d3821b45"><div class="ttname"><a href="big__1024__58_8h.html#a0690afd393dc18f933e60990d3821b45">BIG_1024_58_mul</a></div><div class="ttdeci">void BIG_1024_58_mul(DBIG_1024_58 x, BIG_1024_58 y, BIG_1024_58 z)</div><div class="ttdoc">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:542</div></div>
+<div class="ttc" id="big__1024__58_8h_html_aeb8691b6e4a7ff22929a6ea4e8d8b3da"><div class="ttname"><a href="big__1024__58_8h.html#aeb8691b6e4a7ff22929a6ea4e8d8b3da">BIG_1024_58_doutput</a></div><div class="ttdeci">void BIG_1024_58_doutput(DBIG_1024_58 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:190</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a9b7d10ac14d01730ca0ed7ebafaf4365"><div class="ttname"><a href="big__1024__58_8h.html#a9b7d10ac14d01730ca0ed7ebafaf4365">BIG_1024_58_dmod2m</a></div><div class="ttdeci">void BIG_1024_58_dmod2m(DBIG_1024_58 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1554</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a5efd1864ed90d0a55a62d3b10c921705"><div class="ttname"><a href="big__1024__58_8h.html#a5efd1864ed90d0a55a62d3b10c921705">BIG_1024_58_nbits</a></div><div class="ttdeci">int BIG_1024_58_nbits(BIG_1024_58 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1040</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a8ed8ce73b499a238662439a49473ca90"><div class="ttname"><a href="big__1024__58_8h.html#a8ed8ce73b499a238662439a49473ca90">BIG_1024_58_cswap</a></div><div class="ttdeci">void BIG_1024_58_cswap(BIG_1024_58 x, BIG_1024_58 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:92</div></div>
+<div class="ttc" id="big__1024__58_8h_html_af38b390385549c31d7ce8447f9a45dbd"><div class="ttname"><a href="big__1024__58_8h.html#af38b390385549c31d7ce8447f9a45dbd">BIG_1024_58_dcopy</a></div><div class="ttdeci">void BIG_1024_58_dcopy(DBIG_1024_58 x, DBIG_1024_58 y)</div><div class="ttdoc">Copy DBIG to another DBIG. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:251</div></div>
 <div class="ttc" id="big__1024__58_8h_html_ac5bf43346b61df367fe387509e0bc844"><div class="ttname"><a href="big__1024__58_8h.html#ac5bf43346b61df367fe387509e0bc844">BIG_1024_58_fshr</a></div><div class="ttdeci">int BIG_1024_58_fshr(BIG_1024_58 x, int s)</div><div class="ttdoc">Fast shifts a BIG right by a small number of bits - input must be normalised, output will be normalis...</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:906</div></div>
-<div class="ttc" id="big__1024__58_8h_html_af62acb0b41db1a43d959887a894db497"><div class="ttname"><a href="big__1024__58_8h.html#af62acb0b41db1a43d959887a894db497">BIG_1024_58_modsqr</a></div><div class="ttdeci">void BIG_1024_58_modsqr(BIG_1024_58 x, BIG_1024_58 y, BIG_1024_58 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1315</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a34066f8efa6c016c7c502ef15022eae7"><div class="ttname"><a href="big__1024__58_8h.html#a34066f8efa6c016c7c502ef15022eae7">BIG_1024_58_toBytes</a></div><div class="ttdeci">void BIG_1024_58_toBytes(char *a, BIG_1024_58 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:141</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a42011029a68b709728c96b06295c3bee"><div class="ttname"><a href="big__1024__58_8h.html#a42011029a68b709728c96b06295c3bee">BIG_1024_58_one</a></div><div class="ttdeci">void BIG_1024_58_one(BIG_1024_58 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:340</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a585caf3c149a0beef6f0136b92bcd46a"><div class="ttname"><a href="big__1024__58_8h.html#a585caf3c149a0beef6f0136b92bcd46a">BIG_1024_58_parity</a></div><div class="ttdeci">int BIG_1024_58_parity(BIG_1024_58 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1225</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a2896cb84c0b5c26a4d7a588bfe2b0f77"><div class="ttname"><a href="big__1024__58_8h.html#a2896cb84c0b5c26a4d7a588bfe2b0f77">BIG_1024_58_dmod</a></div><div class="ttdeci">void BIG_1024_58_dmod(BIG_1024_58 x, DBIG_1024_58 y, BIG_1024_58 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1113</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a906d21822878cf8e8f1dfd2e82e074fb"><div class="ttname"><a href="big__1024__58_8h.html#a906d21822878cf8e8f1dfd2e82e074fb">BIG_1024_58_lastbits</a></div><div class="ttdeci">int BIG_1024_58_lastbits(BIG_1024_58 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1240</div></div>
+<div class="ttc" id="big__1024__58_8h_html_af62acb0b41db1a43d959887a894db497"><div class="ttname"><a href="big__1024__58_8h.html#af62acb0b41db1a43d959887a894db497">BIG_1024_58_modsqr</a></div><div class="ttdeci">void BIG_1024_58_modsqr(BIG_1024_58 x, BIG_1024_58 y, BIG_1024_58 n)</div><div class="ttdoc">Calculate x=y^2 mod n. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1315</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a34066f8efa6c016c7c502ef15022eae7"><div class="ttname"><a href="big__1024__58_8h.html#a34066f8efa6c016c7c502ef15022eae7">BIG_1024_58_toBytes</a></div><div class="ttdeci">void BIG_1024_58_toBytes(char *a, BIG_1024_58 x)</div><div class="ttdoc">Convert from BIG number to byte array. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:141</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a42011029a68b709728c96b06295c3bee"><div class="ttname"><a href="big__1024__58_8h.html#a42011029a68b709728c96b06295c3bee">BIG_1024_58_one</a></div><div class="ttdeci">void BIG_1024_58_one(BIG_1024_58 x)</div><div class="ttdoc">Set BIG to one (unity) </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:340</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a585caf3c149a0beef6f0136b92bcd46a"><div class="ttname"><a href="big__1024__58_8h.html#a585caf3c149a0beef6f0136b92bcd46a">BIG_1024_58_parity</a></div><div class="ttdeci">int BIG_1024_58_parity(BIG_1024_58 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1225</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a2896cb84c0b5c26a4d7a588bfe2b0f77"><div class="ttname"><a href="big__1024__58_8h.html#a2896cb84c0b5c26a4d7a588bfe2b0f77">BIG_1024_58_dmod</a></div><div class="ttdeci">void BIG_1024_58_dmod(BIG_1024_58 x, DBIG_1024_58 y, BIG_1024_58 n)</div><div class="ttdoc">x=y mod n - output normalised </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1113</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a906d21822878cf8e8f1dfd2e82e074fb"><div class="ttname"><a href="big__1024__58_8h.html#a906d21822878cf8e8f1dfd2e82e074fb">BIG_1024_58_lastbits</a></div><div class="ttdeci">int BIG_1024_58_lastbits(BIG_1024_58 x, int n)</div><div class="ttdoc">return least significant bits of a BIG </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1240</div></div>
 <div class="ttc" id="big__1024__58_8h_html_a551e2dc2ad671ee5baaed8d60b112027"><div class="ttname"><a href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">DBIG_1024_58</a></div><div class="ttdeci">chunk DBIG_1024_58[DNLEN_1024_58]</div><div class="ttdef"><b>Definition:</b> big_1024_58.h:59</div></div>
-<div class="ttc" id="big__1024__58_8h_html_aa44406222b538ec2433a2be4738c4cb0"><div class="ttname"><a href="big__1024__58_8h.html#aa44406222b538ec2433a2be4738c4cb0">BIG_1024_58_pxmul</a></div><div class="ttdeci">void BIG_1024_58_pxmul(DBIG_1024_58 x, BIG_1024_58 y, int i)</div><div class="ttdoc">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:501</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a938e45286d8d713c89cef4e6b1eeb129"><div class="ttname"><a href="big__1024__58_8h.html#a938e45286d8d713c89cef4e6b1eeb129">BIG_1024_58_ddiv</a></div><div class="ttdeci">void BIG_1024_58_ddiv(BIG_1024_58 x, DBIG_1024_58 y, BIG_1024_58 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1149</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a78dfb374de911ef2d768ce9d9398aadc"><div class="ttname"><a href="big__1024__58_8h.html#a78dfb374de911ef2d768ce9d9398aadc">BIG_1024_58_norm</a></div><div class="ttdeci">chunk BIG_1024_58_norm(BIG_1024_58 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:976</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a20a0b8fabe8aa895eb6c4b2e1e597adb"><div class="ttname"><a href="big__1024__58_8h.html#a20a0b8fabe8aa895eb6c4b2e1e597adb">BIG_1024_58_comp</a></div><div class="ttdeci">int BIG_1024_58_comp(BIG_1024_58 x, BIG_1024_58 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1014</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a7b984d08e0649c45f4bb43af4b249e68"><div class="ttname"><a href="big__1024__58_8h.html#a7b984d08e0649c45f4bb43af4b249e68">BIG_1024_58_moddiv</a></div><div class="ttdeci">void BIG_1024_58_moddiv(BIG_1024_58 x, BIG_1024_58 y, BIG_1024_58 z, BIG_1024_58 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1337</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a70a47ab4fbb69c412f32d998b5a40551"><div class="ttname"><a href="big__1024__58_8h.html#a70a47ab4fbb69c412f32d998b5a40551">BIG_1024_58_dscopy</a></div><div class="ttdeci">void BIG_1024_58_dscopy(DBIG_1024_58 x, BIG_1024_58 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:263</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a9914e305af21db990dbe3a057922803a"><div class="ttname"><a href="big__1024__58_8h.html#a9914e305af21db990dbe3a057922803a">BIG_1024_58_iszilch</a></div><div class="ttdeci">int BIG_1024_58_iszilch(BIG_1024_58 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:26</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a2f317d943e33967f27e58968cca8df27"><div class="ttname"><a href="big__1024__58_8h.html#a2f317d943e33967f27e58968cca8df27">BIG_1024_58_shr</a></div><div class="ttdeci">void BIG_1024_58_shr(BIG_1024_58 x, int s)</div><div class="ttdoc">Shifts a BIG right by any number of bits - input must be normalised, output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:864</div></div>
-<div class="ttc" id="big__1024__58_8h_html_afa0ffcf3a57d2482330e0e8ae6eb05db"><div class="ttname"><a href="big__1024__58_8h.html#afa0ffcf3a57d2482330e0e8ae6eb05db">BIG_1024_58_dcomp</a></div><div class="ttdeci">int BIG_1024_58_dcomp(DBIG_1024_58 x, DBIG_1024_58 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1026</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a7bd87a02037daa18fda51f198ff141e2"><div class="ttname"><a href="big__1024__58_8h.html#a7bd87a02037daa18fda51f198ff141e2">BIG_1024_58_pmul</a></div><div class="ttdeci">chunk BIG_1024_58_pmul(BIG_1024_58 x, BIG_1024_58 y, int i)</div><div class="ttdoc">Multiply BIG by not-so-small small integer - output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:465</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a281cae3966b611c2537d70299a5738f6"><div class="ttname"><a href="big__1024__58_8h.html#a281cae3966b611c2537d70299a5738f6">BIG_1024_58_fromBytes</a></div><div class="ttdeci">void BIG_1024_58_fromBytes(BIG_1024_58 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:155</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a94ba3da9d18c02c77fd80f74c69c2a81"><div class="ttname"><a href="big__1024__58_8h.html#a94ba3da9d18c02c77fd80f74c69c2a81">BIG_1024_58_invmodp</a></div><div class="ttdeci">void BIG_1024_58_invmodp(BIG_1024_58 x, BIG_1024_58 y, BIG_1024_58 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1392</div></div>
-<div class="ttc" id="big__1024__58_8h_html_abbe6b3a99af9aecd1841df049153b569"><div class="ttname"><a href="big__1024__58_8h.html#abbe6b3a99af9aecd1841df049153b569">BIG_1024_58_add</a></div><div class="ttdeci">void BIG_1024_58_add(BIG_1024_58 x, BIG_1024_58 y, BIG_1024_58 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:356</div></div>
+<div class="ttc" id="big__1024__58_8h_html_aa44406222b538ec2433a2be4738c4cb0"><div class="ttname"><a href="big__1024__58_8h.html#aa44406222b538ec2433a2be4738c4cb0">BIG_1024_58_pxmul</a></div><div class="ttdeci">void BIG_1024_58_pxmul(DBIG_1024_58 x, BIG_1024_58 y, int i)</div><div class="ttdoc">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:501</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a938e45286d8d713c89cef4e6b1eeb129"><div class="ttname"><a href="big__1024__58_8h.html#a938e45286d8d713c89cef4e6b1eeb129">BIG_1024_58_ddiv</a></div><div class="ttdeci">void BIG_1024_58_ddiv(BIG_1024_58 x, DBIG_1024_58 y, BIG_1024_58 n)</div><div class="ttdoc">x=y/n - output normalised </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1149</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a78dfb374de911ef2d768ce9d9398aadc"><div class="ttname"><a href="big__1024__58_8h.html#a78dfb374de911ef2d768ce9d9398aadc">BIG_1024_58_norm</a></div><div class="ttdeci">chunk BIG_1024_58_norm(BIG_1024_58 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:976</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a20a0b8fabe8aa895eb6c4b2e1e597adb"><div class="ttname"><a href="big__1024__58_8h.html#a20a0b8fabe8aa895eb6c4b2e1e597adb">BIG_1024_58_comp</a></div><div class="ttdeci">int BIG_1024_58_comp(BIG_1024_58 x, BIG_1024_58 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1014</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a7b984d08e0649c45f4bb43af4b249e68"><div class="ttname"><a href="big__1024__58_8h.html#a7b984d08e0649c45f4bb43af4b249e68">BIG_1024_58_moddiv</a></div><div class="ttdeci">void BIG_1024_58_moddiv(BIG_1024_58 x, BIG_1024_58 y, BIG_1024_58 z, BIG_1024_58 n)</div><div class="ttdoc">Calculate x=y/z mod n. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1337</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a70a47ab4fbb69c412f32d998b5a40551"><div class="ttname"><a href="big__1024__58_8h.html#a70a47ab4fbb69c412f32d998b5a40551">BIG_1024_58_dscopy</a></div><div class="ttdeci">void BIG_1024_58_dscopy(DBIG_1024_58 x, BIG_1024_58 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:263</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a9914e305af21db990dbe3a057922803a"><div class="ttname"><a href="big__1024__58_8h.html#a9914e305af21db990dbe3a057922803a">BIG_1024_58_iszilch</a></div><div class="ttdeci">int BIG_1024_58_iszilch(BIG_1024_58 x)</div><div class="ttdoc">Tests for BIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:26</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a2f317d943e33967f27e58968cca8df27"><div class="ttname"><a href="big__1024__58_8h.html#a2f317d943e33967f27e58968cca8df27">BIG_1024_58_shr</a></div><div class="ttdeci">void BIG_1024_58_shr(BIG_1024_58 x, int s)</div><div class="ttdoc">Shifts a BIG right by any number of bits - input must be normalised, output normalised. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:864</div></div>
+<div class="ttc" id="big__1024__58_8h_html_afa0ffcf3a57d2482330e0e8ae6eb05db"><div class="ttname"><a href="big__1024__58_8h.html#afa0ffcf3a57d2482330e0e8ae6eb05db">BIG_1024_58_dcomp</a></div><div class="ttdeci">int BIG_1024_58_dcomp(DBIG_1024_58 x, DBIG_1024_58 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1026</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a7bd87a02037daa18fda51f198ff141e2"><div class="ttname"><a href="big__1024__58_8h.html#a7bd87a02037daa18fda51f198ff141e2">BIG_1024_58_pmul</a></div><div class="ttdeci">chunk BIG_1024_58_pmul(BIG_1024_58 x, BIG_1024_58 y, int i)</div><div class="ttdoc">Multiply BIG by not-so-small small integer - output normalised. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:465</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a281cae3966b611c2537d70299a5738f6"><div class="ttname"><a href="big__1024__58_8h.html#a281cae3966b611c2537d70299a5738f6">BIG_1024_58_fromBytes</a></div><div class="ttdeci">void BIG_1024_58_fromBytes(BIG_1024_58 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:155</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a94ba3da9d18c02c77fd80f74c69c2a81"><div class="ttname"><a href="big__1024__58_8h.html#a94ba3da9d18c02c77fd80f74c69c2a81">BIG_1024_58_invmodp</a></div><div class="ttdeci">void BIG_1024_58_invmodp(BIG_1024_58 x, BIG_1024_58 y, BIG_1024_58 n)</div><div class="ttdoc">Calculate x=1/y mod n. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1476</div></div>
+<div class="ttc" id="big__1024__58_8h_html_abbe6b3a99af9aecd1841df049153b569"><div class="ttname"><a href="big__1024__58_8h.html#abbe6b3a99af9aecd1841df049153b569">BIG_1024_58_add</a></div><div class="ttdeci">void BIG_1024_58_add(BIG_1024_58 x, BIG_1024_58 y, BIG_1024_58 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:356</div></div>
 <div class="ttc" id="big__1024__58_8h_html_a0a8882f5fa3bf70c96145d7a5a162e37"><div class="ttname"><a href="big__1024__58_8h.html#a0a8882f5fa3bf70c96145d7a5a162e37">NLEN_1024_58</a></div><div class="ttdeci">#define NLEN_1024_58</div><div class="ttdef"><b>Definition:</b> big_1024_58.h:40</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a9ab3f1c57e7e4155b6194335712e3b64"><div class="ttname"><a href="big__1024__58_8h.html#a9ab3f1c57e7e4155b6194335712e3b64">BIG_1024_58_sdiv</a></div><div class="ttdeci">void BIG_1024_58_sdiv(BIG_1024_58 x, BIG_1024_58 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1188</div></div>
-<div class="ttc" id="big__1024__58_8h_html_ac7a8eb974dd82c2f31e3b120f4ddbc5d"><div class="ttname"><a href="big__1024__58_8h.html#ac7a8eb974dd82c2f31e3b120f4ddbc5d">BIG_1024_58_output</a></div><div class="ttdeci">void BIG_1024_58_output(BIG_1024_58 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:55</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a9ab3f1c57e7e4155b6194335712e3b64"><div class="ttname"><a href="big__1024__58_8h.html#a9ab3f1c57e7e4155b6194335712e3b64">BIG_1024_58_sdiv</a></div><div class="ttdeci">void BIG_1024_58_sdiv(BIG_1024_58 x, BIG_1024_58 n)</div><div class="ttdoc">Divide x by n - output normalised. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1188</div></div>
+<div class="ttc" id="big__1024__58_8h_html_ac7a8eb974dd82c2f31e3b120f4ddbc5d"><div class="ttname"><a href="big__1024__58_8h.html#ac7a8eb974dd82c2f31e3b120f4ddbc5d">BIG_1024_58_output</a></div><div class="ttdeci">void BIG_1024_58_output(BIG_1024_58 x)</div><div class="ttdoc">Outputs a BIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:55</div></div>
 <div class="ttc" id="big__1024__58_8h_html_ac9e2b95f4b4d79160bfbbf22715a9a3d"><div class="ttname"><a href="big__1024__58_8h.html#ac9e2b95f4b4d79160bfbbf22715a9a3d">HBITS_1024_58</a></div><div class="ttdeci">#define HBITS_1024_58</div><div class="ttdef"><b>Definition:</b> big_1024_58.h:45</div></div>
-<div class="ttc" id="big__1024__58_8h_html_ae35c74afb8c26ecd4e432e9a3e68362d"><div class="ttname"><a href="big__1024__58_8h.html#ae35c74afb8c26ecd4e432e9a3e68362d">BIG_1024_58_split</a></div><div class="ttdeci">chunk BIG_1024_58_split(BIG_1024_58 x, BIG_1024_58 y, DBIG_1024_58 z, int s)</div><div class="ttdoc">Splits a DBIG into two BIGs - input must be normalised, outputs normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:932</div></div>
-<div class="ttc" id="big__1024__58_8h_html_ab50ad93d711f57cad218154028e77da7"><div class="ttname"><a href="big__1024__58_8h.html#ab50ad93d711f57cad218154028e77da7">BIG_1024_58_dshr</a></div><div class="ttdeci">void BIG_1024_58_dshr(DBIG_1024_58 x, int s)</div><div class="ttdoc">Shifts a DBIG right by any number of bits - input must be normalised, output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:918</div></div>
-<div class="ttc" id="arch_8h_html"><div class="ttname"><a href="arch_8h.html">arch.h</a></div><div class="ttdoc">Architecture Header File.</div></div>
+<div class="ttc" id="big__1024__58_8h_html_ae35c74afb8c26ecd4e432e9a3e68362d"><div class="ttname"><a href="big__1024__58_8h.html#ae35c74afb8c26ecd4e432e9a3e68362d">BIG_1024_58_split</a></div><div class="ttdeci">chunk BIG_1024_58_split(BIG_1024_58 x, BIG_1024_58 y, DBIG_1024_58 z, int s)</div><div class="ttdoc">Splits a DBIG into two BIGs - input must be normalised, outputs normalised. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:932</div></div>
+<div class="ttc" id="big__1024__58_8h_html_ab50ad93d711f57cad218154028e77da7"><div class="ttname"><a href="big__1024__58_8h.html#ab50ad93d711f57cad218154028e77da7">BIG_1024_58_dshr</a></div><div class="ttdeci">void BIG_1024_58_dshr(DBIG_1024_58 x, int s)</div><div class="ttdoc">Shifts a DBIG right by any number of bits - input must be normalised, output normalised. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:918</div></div>
+<div class="ttc" id="arch_8h_html"><div class="ttname"><a href="arch_8h.html">arch.h</a></div><div class="ttdoc">Architecture Header File. </div></div>
 <div class="ttc" id="big__1024__58_8h_html_a16af5855a6f4a0a4f315fcc98c9926ba"><div class="ttname"><a href="big__1024__58_8h.html#a16af5855a6f4a0a4f315fcc98c9926ba">DNLEN_1024_58</a></div><div class="ttdeci">#define DNLEN_1024_58</div><div class="ttdef"><b>Definition:</b> big_1024_58.h:41</div></div>
 <div class="ttc" id="big__1024__58_8h_html_a9b2910ed8e28bc385736f45a3d668691"><div class="ttname"><a href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a></div><div class="ttdeci">chunk BIG_1024_58[NLEN_1024_58]</div><div class="ttdef"><b>Definition:</b> big_1024_58.h:58</div></div>
-<div class="ttc" id="structcsprng_html"><div class="ttname"><a href="structcsprng.html">csprng</a></div><div class="ttdoc">Cryptographically secure pseudo-random number generator instance.</div><div class="ttdef"><b>Definition:</b> amcl.h:195</div></div>
+<div class="ttc" id="structcsprng_html"><div class="ttname"><a href="structcsprng.html">csprng</a></div><div class="ttdoc">Cryptographically secure pseudo-random number generator instance. </div><div class="ttdef"><b>Definition:</b> amcl.h:195</div></div>
 <div class="ttc" id="arch_8h_html_a0dd4b8ab353c587b22c6acb0809323aa"><div class="ttname"><a href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a></div><div class="ttdeci">#define chunk</div><div class="ttdef"><b>Definition:</b> arch.h:109</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a9c71ce01032e357c3c5935a6e4716017"><div class="ttname"><a href="big__1024__58_8h.html#a9c71ce01032e357c3c5935a6e4716017">BIG_1024_58_dsub</a></div><div class="ttdeci">void BIG_1024_58_dsub(DBIG_1024_58 x, DBIG_1024_58 y, DBIG_1024_58 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:413</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a91e88ae17c00cf2ccefced76c727d60d"><div class="ttname"><a href="big__1024__58_8h.html#a91e88ae17c00cf2ccefced76c727d60d">BIG_1024_58_dshl</a></div><div class="ttdeci">void BIG_1024_58_dshl(DBIG_1024_58 x, int s)</div><div class="ttdoc">Shifts a DBIG left by any number of bits - input must be normalised, output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:846</div></div>
-<div class="ttc" id="big__1024__58_8h_html_aa3cc87dbc15806b0f702891ac7098ac0"><div class="ttname"><a href="big__1024__58_8h.html#aa3cc87dbc15806b0f702891ac7098ac0">BIG_1024_58_jacobi</a></div><div class="ttdeci">int BIG_1024_58_jacobi(BIG_1024_58 x, BIG_1024_58 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1354</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a1a81f4df17bfc22252203fcc589857d8"><div class="ttname"><a href="big__1024__58_8h.html#a1a81f4df17bfc22252203fcc589857d8">BIG_1024_58_modneg</a></div><div class="ttdeci">void BIG_1024_58_modneg(BIG_1024_58 x, BIG_1024_58 y, BIG_1024_58 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1327</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a9c71ce01032e357c3c5935a6e4716017"><div class="ttname"><a href="big__1024__58_8h.html#a9c71ce01032e357c3c5935a6e4716017">BIG_1024_58_dsub</a></div><div class="ttdeci">void BIG_1024_58_dsub(DBIG_1024_58 x, DBIG_1024_58 y, DBIG_1024_58 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:413</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a91e88ae17c00cf2ccefced76c727d60d"><div class="ttname"><a href="big__1024__58_8h.html#a91e88ae17c00cf2ccefced76c727d60d">BIG_1024_58_dshl</a></div><div class="ttdeci">void BIG_1024_58_dshl(DBIG_1024_58 x, int s)</div><div class="ttdoc">Shifts a DBIG left by any number of bits - input must be normalised, output normalised. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:846</div></div>
+<div class="ttc" id="big__1024__58_8h_html_aa3cc87dbc15806b0f702891ac7098ac0"><div class="ttname"><a href="big__1024__58_8h.html#aa3cc87dbc15806b0f702891ac7098ac0">BIG_1024_58_jacobi</a></div><div class="ttdeci">int BIG_1024_58_jacobi(BIG_1024_58 x, BIG_1024_58 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y) </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1354</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a1a81f4df17bfc22252203fcc589857d8"><div class="ttname"><a href="big__1024__58_8h.html#a1a81f4df17bfc22252203fcc589857d8">BIG_1024_58_modneg</a></div><div class="ttdeci">void BIG_1024_58_modneg(BIG_1024_58 x, BIG_1024_58 y, BIG_1024_58 n)</div><div class="ttdoc">Calculate x=-y mod n. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1327</div></div>
 <div class="ttc" id="config__big__1024__58_8h_html_a0fdac7cd24ebe3f1dd4d890f201cad7c"><div class="ttname"><a href="config__big__1024__58_8h.html#a0fdac7cd24ebe3f1dd4d890f201cad7c">BASEBITS_1024_58</a></div><div class="ttdeci">#define BASEBITS_1024_58</div><div class="ttdef"><b>Definition:</b> config_big_1024_58.h:35</div></div>
 <div class="ttc" id="big__1024__58_8h_html_ad427d858bae25e21c839cfb4a68ab0f4"><div class="ttname"><a href="big__1024__58_8h.html#ad427d858bae25e21c839cfb4a68ab0f4">HMASK_1024_58</a></div><div class="ttdeci">#define HMASK_1024_58</div><div class="ttdef"><b>Definition:</b> big_1024_58.h:46</div></div>
-<div class="ttc" id="big__1024__58_8h_html_af4b09ea14dd99580a95573594fb598c6"><div class="ttname"><a href="big__1024__58_8h.html#af4b09ea14dd99580a95573594fb598c6">BIG_1024_58_mod</a></div><div class="ttdeci">void BIG_1024_58_mod(BIG_1024_58 x, BIG_1024_58 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1082</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a3709498b361201350c543ab42e5dc1c7"><div class="ttname"><a href="big__1024__58_8h.html#a3709498b361201350c543ab42e5dc1c7">BIG_1024_58_monty</a></div><div class="ttdeci">void BIG_1024_58_monty(BIG_1024_58 a, BIG_1024_58 md, chunk MC, DBIG_1024_58 d)</div><div class="ttdoc">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:735</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a7672b6adaef24df910705c025603eda8"><div class="ttname"><a href="big__1024__58_8h.html#a7672b6adaef24df910705c025603eda8">BIG_1024_58_bit</a></div><div class="ttdeci">int BIG_1024_58_bit(BIG_1024_58 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1232</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a4f5a30353d520430afef1da22610a65f"><div class="ttname"><a href="big__1024__58_8h.html#a4f5a30353d520430afef1da22610a65f">BIG_1024_58_zero</a></div><div class="ttdeci">void BIG_1024_58_zero(BIG_1024_58 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:319</div></div>
-<div class="ttc" id="big__1024__58_8h_html_ac2acae35d001aa2a3fb2ac2039341f18"><div class="ttname"><a href="big__1024__58_8h.html#ac2acae35d001aa2a3fb2ac2039341f18">BIG_1024_58_or</a></div><div class="ttdeci">void BIG_1024_58_or(BIG_1024_58 x, BIG_1024_58 y, BIG_1024_58 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:371</div></div>
-<div class="ttc" id="big__1024__58_8h_html_a5d8d33ffbbce6d087b1e1c49a1fad23d"><div class="ttname"><a href="big__1024__58_8h.html#a5d8d33ffbbce6d087b1e1c49a1fad23d">BIG_1024_58_sdcopy</a></div><div class="ttdeci">void BIG_1024_58_sdcopy(BIG_1024_58 x, DBIG_1024_58 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:294</div></div>
+<div class="ttc" id="big__1024__58_8h_html_af4b09ea14dd99580a95573594fb598c6"><div class="ttname"><a href="big__1024__58_8h.html#af4b09ea14dd99580a95573594fb598c6">BIG_1024_58_mod</a></div><div class="ttdeci">void BIG_1024_58_mod(BIG_1024_58 x, BIG_1024_58 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1082</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a3709498b361201350c543ab42e5dc1c7"><div class="ttname"><a href="big__1024__58_8h.html#a3709498b361201350c543ab42e5dc1c7">BIG_1024_58_monty</a></div><div class="ttdeci">void BIG_1024_58_monty(BIG_1024_58 a, BIG_1024_58 md, chunk MC, DBIG_1024_58 d)</div><div class="ttdoc">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised. ...</div><div class="ttdef"><b>Definition:</b> big_1024_58.c:735</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a7672b6adaef24df910705c025603eda8"><div class="ttname"><a href="big__1024__58_8h.html#a7672b6adaef24df910705c025603eda8">BIG_1024_58_bit</a></div><div class="ttdeci">int BIG_1024_58_bit(BIG_1024_58 x, int i)</div><div class="ttdoc">return i-th of BIG </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:1232</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a4f5a30353d520430afef1da22610a65f"><div class="ttname"><a href="big__1024__58_8h.html#a4f5a30353d520430afef1da22610a65f">BIG_1024_58_zero</a></div><div class="ttdeci">void BIG_1024_58_zero(BIG_1024_58 x)</div><div class="ttdoc">Set BIG to zero. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:319</div></div>
+<div class="ttc" id="big__1024__58_8h_html_ac2acae35d001aa2a3fb2ac2039341f18"><div class="ttname"><a href="big__1024__58_8h.html#ac2acae35d001aa2a3fb2ac2039341f18">BIG_1024_58_or</a></div><div class="ttdeci">void BIG_1024_58_or(BIG_1024_58 x, BIG_1024_58 y, BIG_1024_58 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:371</div></div>
+<div class="ttc" id="big__1024__58_8h_html_a5d8d33ffbbce6d087b1e1c49a1fad23d"><div class="ttname"><a href="big__1024__58_8h.html#a5d8d33ffbbce6d087b1e1c49a1fad23d">BIG_1024_58_sdcopy</a></div><div class="ttdeci">void BIG_1024_58_sdcopy(BIG_1024_58 x, DBIG_1024_58 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_1024_58.c:294</div></div>
 </div><!-- fragment --></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
+</a> 1.8.13
 </small></address>
 </body>
 </html>
diff --git a/website/static/cdocs/big__256__28_8h.html b/website/static/cdocs/big__256__28_8h.html
deleted file mode 100644
index c3cf4fb..0000000
--- a/website/static/cdocs/big__256__28_8h.html
+++ /dev/null
@@ -1,2994 +0,0 @@
-<!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 hre